top・ps・kill コマンドの使い方
topコマンドは、UNIX系オペレーティングシステム(macOSを含む)で、システムのプロセスとリソース使用状況をリアルタイムで表示するために使用されます。このコマンドは、CPUやメモリの使用状況、実行中のプロセス、システムアップタイムなど、システムのパフォーマンスに関する多くの情報を提供します。top コマンド
topコマンドを実行すると、システムの現在の状態が表示されます。この表示は自動的に更新され、最新の情報を提供し続けます。zsh
top
topコマンドの操作
topコマンドを実行中には、いくつかのキーボードショートカットで操作を行うことができます。キー | 説明 |
---|---|
q | topを終了します。 |
e | 単位を変更します(例:メモリ表示をK、M、Gで切り替えます)。 |
r | プロセスの優先順位(renice値)を変更します。 |
k | プロセスを終了(kill)します。プロセスIDを入力する必要があります。 |
オプションとしてよく使われるもの
オプション | 説明 |
---|---|
-n | 更新の頻度を秒単位で指定します。例えば、top -n 2は2秒ごとに情報を更新します。 |
-o | 特定の列を基準にプロセスをソートするために使用します。例えば、top -o cpuはCPU使用率でプロセスをソートします。 |
-U | 特定のユーザーのプロセスのみを表示します。例えば、top -U usernameはusernameに該当するユーザーのプロセスのみを表示します。 |
これはtopコマンドの基本的な使い方とオプションの一部ですが、詳細なオプションや機能については、man topコマンドを使用してマニュアルページを参照してください。
htop コマンド
topコマンドが見づらい場合はhtopがおすすめ。グラフィカルなCLIで表示してくれる。 brew install top でmacOSにもインストール可能だ。ps コマンド
ps コマンドは、現在実行中のプロセスのスナップショットを表示するUNIX系システムのコマンドです。以下の表に、よく使用されるオプションとその説明をまとめました。psコマンドのオプション
オプション | 説明 |
---|---|
-A, -e | 全てのプロセスを表示します。 |
-a | ターミナルに関連付けられたプロセスを表示します。デーモンプロセスなどのターミナルに関連付けられていないプロセスは除外されます。 |
-u <ユーザー名> | 指定したユーザー名のプロセスを表示します。 |
-x | ターミナル制御なしでプロセスを表示します。 |
-f | フルフォーマットで表示します。ユーザー名、プロセスID、親プロセスID、メモリ使用量、ターミナル番号、プロセスの状態など、より詳細な情報を含みます。 |
-o <フィールド名> | 出力をカスタマイズして、指定したフィールドのみを表示します。例えば、pid,comm を指定すると、プロセスIDとコマンド名のみが表示されます。 |
-p | 指定したプロセスIDのプロセスを表示します。複数のPIDをカンマで区切って指定することもできます。 |
-l | 長いフォーマットで表示します。プロセスに関するより詳細な情報を含みます。 |
--forest | プロセスを木構造で表示します。プロセスの親子関係がわかりやすくなります。 |
全てのプロセスを表示
shell
ps -A
ユーザー名、プロセスID、プロセスの状態、コマンド名を含む、全てのプロセスを表示
shell
ps aux
文字列に一致するプロセスを検索
shell
ps aux | grep [文字列]
完全なコマンド文字列を含む、実行中のすべてのプロセスをリスト表示
shell
ps auxww
プロセスの親 PID を取得
shell
ps -o ppid= -p pid
メモリ使用量に基づいてプロセスを並べ替え
shell
ps -m
CPU 使用率でプロセスを並べ替え
shell
ps -r
特定のユーザーのプロセスを表示
shell
ps -u ユーザー名
プロセスID、コマンド名を表示
shell
ps コマンドのオプションはシステムによって異なる場合があります。使用するシステムの man ページや ps --help コマンドを参照して、使用可能なオプションを確認してください。ps -o pid,comm
kill コマンド
kill コマンドは、指定されたプロセスにシグナルを送信するために使用されます。主にプロセスの終了を目的としていますが、様々なシグナルを送信することで異なるアクションを引き起こすことができます。killコマンドの基本的な使用法
bash
kill [シグナルオプション] プロセスID
よく使われるオプションとシグナル
オプション | 説明 |
---|---|
-l | 利用可能なシグナルのリストを表示します。 |
-s | 送信するシグナルを指定します。シグナル名またはシグナル番号で指定できます。 |
-9 | 強制終了(KILLシグナル)を送信します。最も強力で、ほとんどのプロセスを即座に終了させます。 |
シグナルの例
シグナル | 名前 | 説明 |
---|---|---|
1 | SIGHUP | プロセスにハングアップを通知します。 |
2 | SIGINT | プロセスに中断を通知します(例: Ctrl+C)。 |
9 | SIGKILL | プロセスを強制終了させます。終了を拒否することはできません。 |
15 | SIGTERM | プロセスに終了を通知します。デフォルトのシグナルです。 |
プロセスID 12345 のプロセスを終了させる(SIGTERM)
bash
kill 12345
プロセスID 12345 のプロセスを強制終了させる(SIGKILL)
bash
kill -9 12345
利用可能なシグナルのリストを表示
bash
kill コマンドは多くのUNIX系OSで標準的に利用されるツールであり、プロセス管理において非常に重要な役割を果たします。正しく使用することで、システムの制御をより柔軟に行うことができます。kill -l
関連記事
アイデアノート > シェル・Python