psコマンドの使い方:実行中のプロセスを表示する

psは、実行中のプロセスの一覧を表示するコマンドです。特定のプログラムが動いているか、どのプロセスがCPUやメモリを使っているか、プロセスID(PID)はいくつかを調べるときに使います。

psのよく使う形

実務や学習で登場しやすい使い方を、そのまま入力できる形でまとめました。

コマンド例内容
ps aux全ユーザーのプロセスを詳細に表示
ps -ef全プロセスを親子関係(PPID)つきで表示
ps aux | grep nginxnginxに関するプロセスを絞り込む
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です。

関連ページ

あわせて覚えたいコマンド:kill・top・grep・systemctl

psが登場する章:初級 第7章・中級 第9章

← Linuxコマンド一覧へ戻る