本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介してきます。今回は、「ps」コマンドです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、現在実行中のプロセスを一覧表示するための「ps」コマンドです。
「ps」は、OS内部で現在実行されているプロセス一覧を表示するコマンドです。プロセスのID(PID)やCPU使用時間、コマンド名、端末番号、ユーザー名などを確認することができます。
psコマンドのオプションは「p」のような1文字のスタイルと、「-p」のような“「-」記号+アルファベット1文字”のスタイル、「--pid」のような長いスタイルの3種類があります。なお、「p」はBSDオプション、「-p」はUNIXオプション、「--pid」はGNUロングオプションと呼ばれています。
オプション | 意味 |
---|---|
-A, -e | 全てのプロセスを表示する |
a | 端末を持つ全てのプロセスを表示する |
x | 端末を持たない全てのプロセスを表示する |
r | 実行中のプロセスだけを表示する |
-C コマンドリスト | 実行ファイル名を指定して表示する |
-u ユーザーリスト | ユーザーを指定して表示する(※) |
-g グループリスト | グループを指定して表示する(※) |
-p PIDリスト | プロセスIDを指定して表示する(p, --pidと同じ) |
c | コマンド名を表示する |
e | コマンド名の後に環境変数などを表示する |
u | ユーザー指向のフォーマット(加工の容易さよりも読みやすさを優先したフォーマット、実行例1を参照)で表示する |
h, --no-headers | ヘッダ行を表示しない |
-l | 長いフォーマットで表示する |
f, -H, --forest | 階層表示する |
o, -o, --format | 出力形式を指定する(実行例3を参照) |
w, -w | 出力時の幅を広げる |
--cols 文字数, --width 文字数 | 出力時の幅を指定する |
--rows 行数, --lines 行数 | 出力時の行数を指定する |
k, --sort | 並べ替えて表示する(実行例4を参照) |
psコマンドの主なオプション |
※ユーザーとグループに関しては「実ユーザー/実グループ」と「実効ユーザー/実効グループ」の2種類があり、指定方法が異なります。「実(real)ユーザー」はプロセスを起動した実際のユーザーで、「実効(effective)ユーザー」は動作時の権限で、通常両者は一致しています。実ユーザーを指定したい場合は「-U,--User」オプション、実効ユーザーを指定したい場合は「U,-u,--user」オプション、実グループを指定したい場合は「-G,--Group」オプション、実効グループを指定したい場合は「-g,--group」オプションを使用します。
複数のオプションを一緒に指定したい場合、例えば「a」と「ax」ならばまとめて「ps ax」、「-a」と「-U」ならばまとめて「ps -aU」と指定しますが、「-a」と「e」ならば「ps -a e」のように分けて指定します。「-e」「e」「e」「r」「--cols 100」を指定する場合は、「ps -e ax --cols 100」のようにまとめます。
psコマンドをオプションなしで実行すると、自分が現在起動しているプロセスを表示できます(画面1)。
ps
プロセスにはそれぞれ固有の「ID(PID:プロセスID)」が付与されています。現在実行中のプロセスはbashとpsで、psは表示が終わるとともに終了します。
主な表示形式 | プロセスの状態 |
---|---|
R | 実行中/実行可能な状態 |
S | スリープ状態 |
D | スリープ状態(割り込み不可)(※ディスク待ちが多い) |
T | 停止またはトレース中(シェルで[Ctrl]+[Z]キーで停止している時など) |
Z | ゾンビプロセス(終了しているのにメモリに残ってしまっているプロセス) |
プロセスの状態(※2文字目以降にはプロセスの優先度などが表示される) |
Copyright © ITmedia, Inc. All Rights Reserved.