top・ps・kill コマンドの使い方

topコマンドは、UNIX系オペレーティングシステム(macOSを含む)で、システムのプロセスとリソース使用状況をリアルタイムで表示するために使用されます。このコマンドは、CPUやメモリの使用状況、実行中のプロセス、システムアップタイムなど、システムのパフォーマンスに関する多くの情報を提供します。

top コマンド

topコマンドを実行すると、システムの現在の状態が表示されます。この表示は自動的に更新され、最新の情報を提供し続けます。
zsh
top

topコマンドの操作

topコマンドを実行中には、いくつかのキーボードショートカットで操作を行うことができます。
キー説明
qtopを終了します。
e単位を変更します(例:メモリ表示をK、M、Gで切り替えます)。
rプロセスの優先順位(renice値)を変更します。
kプロセスを終了(kill)します。プロセスIDを入力する必要があります。

オプションとしてよく使われるもの

オプション説明
-n更新の頻度を秒単位で指定します。例えば、top -n 2は2秒ごとに情報を更新します。
-o特定の列を基準にプロセスをソートするために使用します。例えば、top -o cpuはCPU使用率でプロセスをソートします。
-U特定のユーザーのプロセスのみを表示します。例えば、top -U usernameusernameに該当するユーザーのプロセスのみを表示します。

これはtopコマンドの基本的な使い方とオプションの一部ですが、詳細なオプションや機能については、man topコマンドを使用してマニュアルページを参照してください。

htop コマンド

topコマンドが見づらい場合はhtopがおすすめ。グラフィカルなCLIで表示してくれる。 brew install top でmacOSにもインストール可能だ。

htop
htop

ps コマンド

ps コマンドは、現在実行中のプロセスのスナップショットを表示するUNIX系システムのコマンドです。以下の表に、よく使用されるオプションとその説明をまとめました。

psコマンドのオプション

オプション説明
-A, -e全てのプロセスを表示します。
-aターミナルに関連付けられたプロセスを表示します。デーモンプロセスなどのターミナルに関連付けられていないプロセスは除外されます。
-u <ユーザー名>指定したユーザー名のプロセスを表示します。
-xターミナル制御なしでプロセスを表示します。
-fフルフォーマットで表示します。ユーザー名、プロセスID、親プロセスID、メモリ使用量、ターミナル番号、プロセスの状態など、より詳細な情報を含みます。
-o <フィールド名>出力をカスタマイズして、指定したフィールドのみを表示します。例えば、pid,comm を指定すると、プロセスIDとコマンド名のみが表示されます。
-p 指定したプロセスIDのプロセスを表示します。複数のPIDをカンマで区切って指定することもできます。
-l長いフォーマットで表示します。プロセスに関するより詳細な情報を含みます。
--forestプロセスを木構造で表示します。プロセスの親子関係がわかりやすくなります。
ps コマンドは非常に多機能で、システムの現在の状態を把握するのに役立ちます。実際の使用例をいくつか紹介します。

全てのプロセスを表示

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 -o pid,comm
ps コマンドのオプションはシステムによって異なる場合があります。使用するシステムの man ページや ps --help コマンドを参照して、使用可能なオプションを確認してください。

kill コマンド

kill コマンドは、指定されたプロセスにシグナルを送信するために使用されます。主にプロセスの終了を目的としていますが、様々なシグナルを送信することで異なるアクションを引き起こすことができます。

killコマンドの基本的な使用法

bash
kill [シグナルオプション] プロセスID

よく使われるオプションとシグナル

オプション説明
-l利用可能なシグナルのリストを表示します。
-s送信するシグナルを指定します。シグナル名またはシグナル番号で指定できます。
-9強制終了(KILLシグナル)を送信します。最も強力で、ほとんどのプロセスを即座に終了させます。

シグナルの例

シグナル名前説明
1SIGHUPプロセスにハングアップを通知します。
2SIGINTプロセスに中断を通知します(例: Ctrl+C)。
9SIGKILLプロセスを強制終了させます。終了を拒否することはできません。
15SIGTERMプロセスに終了を通知します。デフォルトのシグナルです。

プロセスID 12345 のプロセスを終了させる(SIGTERM)

bash
kill 12345

プロセスID 12345 のプロセスを強制終了させる(SIGKILL)

bash
kill -9 12345

利用可能なシグナルのリストを表示

bash
kill -l
kill コマンドは多くのUNIX系OSで標準的に利用されるツールであり、プロセス管理において非常に重要な役割を果たします。正しく使用することで、システムの制御をより柔軟に行うことができます。

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム