psコマンドの使い方:実行中のプロセスを表示する
psは、実行中のプロセスの一覧を表示するコマンドです。特定のプログラムが動いているか、どのプロセスがCPUやメモリを使っているか、プロセスID(PID)はいくつかを調べるときに使います。
psのよく使う形
実務や学習で登場しやすい使い方を、そのまま入力できる形でまとめました。
| コマンド例 | 内容 |
|---|---|
ps aux | 全ユーザーのプロセスを詳細に表示 |
ps -ef | 全プロセスを親子関係(PPID)つきで表示 |
ps aux | grep nginx | nginxに関するプロセスを絞り込む |
ps aux --sort=-%mem | head | メモリ使用率が高い順に上位を表示 |
ps -p 1234 -o pid,ppid,cmd | 指定したPIDの項目を選んで表示 |
ps -u alice | 特定のユーザーのプロセスだけ表示 |
psの主なオプション
| オプション | 意味 |
|---|---|
| aux 全プロセス詳細(BSD形式) | |
-ef | 全プロセス詳細(UNIX形式、PPID付き) |
-u | ユーザー指定 |
-o | 表示項目を指定 |
--sort=-%cpu | ソート順を指定 |
psの実行例と結果の読み方
user@linux-study:~$ ps aux | head -3
USER PID %CPU %MEM COMMAND
user 1023 0.1 0.5 nginx
user 1050 0.0 0.3 bash
ps auxで実行中の全プロセスを表示し、head -3にパイプで渡すことで先頭3行(ヘッダーと2つのプロセス)だけを表示しています。CPU・メモリ使用率やプロセス名が確認できます。
練習用ターミナルでは、psをブラウザ上で安全に試せます。
psを使うときの注意点
psは実行した時点のスナップショットです。リアルタイムに変化を見たいときはtopを使います。
ps auxのSTAT列は、Rが実行中、Sがスリープ、DがディスクI/O待ち、Zがゾンビ(終了後に回収されていない)を表します。Dが長く続くと、ディスクや外部ストレージの問題が疑われます。
psに関するよくある質問
ps auxとps -efの違いは?
表示される項目が異なるだけで、どちらも全プロセスを表示します。auxはCPU・メモリ使用率が、-efは親プロセス(PPID)が見やすい形式です。
プロセスを終了するには?
PIDを調べてからkill PIDを実行します。応答しない場合の最終手段がkill -9です。