PS(1) FreeBSD 一般コマンドマニュアル PS(1)
名称
ps − プロセスの状態の表示 |
書式
ps [−aCcefHhjlmrSTuvwXxZ] [−O fmt | −o fmt] [−G gid[,gid...]] [−M core] [−N system] [−p pid[,pid...]] [−t tty[,tty...]] [−U user[,user...]] |
ps [−L] |
解説 |
ps ユーティリティは、ユーザのプロセスのうち制御端末を持つものすべての情報 を、ヘッダ行に続いて表示します。 −a, −G, −p, −T, −t, −U オプションの任意の組み合わせを使用することで、表示 するプロセスの集合を選択することができます。 ps これらのうち、複数のオプ ションが与えられると、 ps は、与えられたオプションの少なくとも 1 つにマッ チしたプロセスをすべて選択します。 表示対象として選択されたプロセスに対し、 ps は、通常 1 プロセス当たり 1 行で表示します。 −H オプションにより、プロセスによっては、複数行 (1 ス レッド当たり 1 行) 表示することがあります。デフォルトでは、すべての出力行 は、最初に制御端末順、その中でプロセス ID 順に整列されます。この整列順 は、 −m, −r, −u, −v オプションで変更します。複数の整列オプションが与えら れた場合、最後に指定した整列オプションに従い選択されたプロセスを整列しま す。 表示対象として選択されたプロセスに対し、キーワードの組に基づき表示する情 報を選択します (−L, −O, −o オプションを参照)。デフォルトの出力形式には、 プロセスごとに、プロセス ID、制御端末、 CPU 時間 (ユーザ時間とシステム時 間の両方)、プロセス状態、プロセスに関連するコマンドが含まれます。 ps を実行するときには、プロセスファイルシステム (procfs(5) 参照) をマウン トしておく必要があります。そうでない場合、必ずしもすべての情報が利用可能 になるわけではありません。 オプションを以下に示します。 |
−a
自分のプロセスに加え自分以外のユーザのプロセスの情報も同様に表示 します。 −x オプションを指定しない限り、制御端末を持たないプロセ スはすべてスキップされます。この機能は、 security.bsd.see_other_uids sysctl を 0 に設定することで無効化で きます。 −c −C −e −f −G −H −h −j −L −l −M −m −N −O −o −p −r −S −T −t −U −u −v −w −X −x −Z 有効なキーワードの全リストを以下に示します。いくつかのキーワードに関して はさらに詳しく述べます。 %cpu %mem flags |
P_ADVLOCK 0x00001 プロセスは POSIX アドバイザリ ロックを保持している |
P_CONTROLT 0x00002 制御端末を持っている |
P_KTHREAD 0x00004 カーネルスレッド |
P_NOLOAD 0x00008 ロードアベレージ計算中は無視 |
P_PPWAIT 0x00010 親プロセスが、子プロセスが exec/exit するのを待っている |
P_PROFIL 0x00020 プロファイル付きで実行された |
P_STOPPROF 0x00040 プロファイル停止要求中のスレッ ドあり |
P_SUGID 0x00100 最後の実行以来、id 特権が設定 されている |
P_SYSTEM 0x00200 システムプロセス: シグナルや stat やスワップが無い |
P_SINGLE_EXIT 0x00400 サスペンド中のスレッドは待たず に exit すべき |
P_TRACED 0x00800 デバッグプロセスはトレースされ ている |
P_WAITED 0x01000 自分を待っているものが存在する |
P_WEXIT 0x02000 終了動作中 |
P_EXEC 0x04000 プロセスは exec で呼ばれた |
P_SA 0x08000 scheduler activation を使用中 |
P_CONTINUED 0x10000 プロセスが停止中の状態から実行 再開した |
P_STOPPED_SIG 0x20000 SIGSTOP/SIGTSTP により停止した |
P_STOPPED_TRACE 0x40000 トレースにより停止した |
P_STOPPED_SINGLE 0x80000 単一スレッドのみ実行継続可能 |
P_PROTECTED 0x100000 メモリの過剰コミットでもプロセ スを kill しない |
P_SIGEVENT 0x200000 未処理のシグナル変化を持つプロ セス |
P_JAILED 0x1000000 プロセスは jail に存在する |
P_INEXEC 0x4000000 プロセスは execve() 状態にある |
label
プロセスの MAC ラベルです。 lim lstart lockname mwchan nice rss start state D さらにこの後に文字があれば、さらなる状態情報を示します。 + tt wchan キーワード command には、すでに終了しているのに親がまだ wait してくれてい ないプロセス(即ちゾンビ)は ‘‘<defunct>’’ と表示されます。終了しようとして ブロックされているプロセスは ‘‘<exiting>’’ と表示されます。コマンド引数の 列の場所を特定できない場合 (通常、設定されていないため、システムプロセス であるため、カーネルスレッドであるため)、コマンド名は、角括弧で囲まれて表 示されます。 ps ユーティリティは、メモリやスワップ領域を検査して、プロセ スが生成されたときのファイル名や引数を推測します。この方法は、本質的に少 々信頼できるものではなく、プロセスはとにかくこの情報を破壊することができ ます。だから、表示されるコマンド名や引数をあまり信用しすぎてはなりませ ん。一方、キーワード ucomm (アカウンティング名) は信用できます。 キーワード |
以下は有効なキーワードとその意味の全リストです。そのうちいくつかは別名が あります。 |
%cpu
CPU 使用率 (別名 pcpu) 環境変数 |
次の環境変数が ps の実行に影響します: |
COLUMNS
設定されている場合、ユーザの好みの出力幅をコラム数で指定します。 デフォルトでは、 ps は自動的に端末幅を取得しようとします。 関連ファイル |
/boot/kernel/kernel
デフォルトのシステム名前リスト 関連項目 |
kill(1), pgrep(1), pkill(1), w(1), kvm(3), strftime(3), mac(4), procfs(5), pstat(8), sysctl(8), mutex(9) |
規格
歴史的経緯により、 FreeBSD における ps ユーティリティは、 IEEE Std 1003.2 (‘‘POSIX.2’’) が規定するオプションで、非 BSD オペレーティングシステムがサ ポートしているオプションと異なるものをサポートしています。 |
歴史
ps コマンドは Version 4 AT&T UNIX に登場しました。 |
バグ
ps はシステムより速く実行できず、他のプロセスと同様にスケジュールされて実 行されるので、表示される情報は正確ではあり得ません。 ps ユーティリティは、マルチバイト文字を含む引数リストを正しく表示しませ ん。 FreeBSD 10.0 March 27, 2004 FreeBSD 10.0 |