日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
PS(1) FreeBSD 一般コマンドマニュアル PS(1) 名称 ps -- プロセス状態 書式 ps [--libxo] [-aCcdefHhjlmrSTuvwXxZ] [-O fmt | -o fmt] [-G gid[,gid...]] [-J jid[,jid...]] [-M core] [-N system] [-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]] ps [--libxo] [-L] 解説 ps ユーティリティは、ヘッダ行を表示し、続いて、制御端末があるすべての利用 者のプロセスに関する情報を含む行を表示します。-x オプションが指定されな ら、ps は、制御端末がないプロセスも表示します。 -a, -G, -J, -p, -T, -t と -U オプションの任意の組み合わせを使用することに よって、表示のための異なった組のプロセスを選択することができます。これら のオプションが複数与えられるなら、ps は、少なくとも与えられたオプションの 1 つにマッチするすべてのプロセスを選択します。 表示するために選択されたプロセスに関して、ps は、通常 1 つのプロセスごと に 1 行で表示します。-H オプションは、いくつかのプロセスに対して (1 つの スレッドごとに 1 行の) 複数の出力行の結果となります。デフォルトで、これら のすべての出力行は、最初に制御端末、次にプロセス ID によってソートされま す。-m, -r, -u と -v オプションは、ソート順序を変更します。2 つ以上のソー トオプションが与えられるなら、選択されたプロセスは、指定された最後のソー トオプションによってソートされます。 表示するために選択されたプロセスに関して、表示する情報は、1 連のキーワー ドに基づいて選択されます (-L, -O と -o オプションを参照)。デフォルトの出 力形式は、プロセスごとに、プロセスの ID、制御端末、状態、CPU 時間 (ユーザ 時間とシステム時間の両方を含む) と関連するコマンドを含みます。 ps プロセスが端末と関連するなら、デフォルトの出力幅は、端末の幅です。そう でなければ、出力幅は、無限です。-w オプションも参照してください。 オプションは、次の通りです: --libxo 異なる人間とマシン読み込み可能な形式の選択で libxo(3) を通して出 力を生成します。コマンド行引数の詳細については、xo_parse_args(3) を参照してください。 -a 利用者自身に加えて他のユーザのプロセスに関する情報を表示します。 security.bsd.see_other_uids sysctl が 0 に設定されるなら、このオ プションは、ユーザの UID が 0 である場合のみ、サポートされます。 -c ``コマンド'' カラムの出力をコマンド行いっぱいではなく、実行形式の 名前だけを含むように変更します。 -C ``常駐'' 時間 (これは、通常効果がありません) を無視して、CPU の パーセンテージを ``生の'' CPU 計算を使用することによって計算する 方法に変更します。 -d プロセスを先祖から子孫の順に、兄弟と親/子供関係をツリーとして表示 するインデンテーション (段付け) されたテキストで各コマンドを前に 置いて並べます。また、-m と -r オプションのいずれかが使用されるな ら、それらは、兄弟のプロセスがどのようにお互いに関連してソートさ れるかを制御します。このオプションは、``command'' カラムが表示さ れた最後のカラムでないなら、効果はないことに注意してください。 -e 同様に環境も表示します。 -f スワップアウトされたプロセスに関してコマンド行と環境情報を表示し ます。ユーザの UID が 0 である場合のみ、このオプションは、支持さ れます。 -G 指定された実グループ ID で実行しているプロセスに関する情報を表示 します。 -H 各プロセスと関連したスレッドのすべてを表示します。 -h 情報のページごとに 1 つのヘッダを保証するのに必要なたびに情報ヘッ ダを繰り返します。 -j 次のキーワードに関連する情報を印刷 (表示) します: user, pid, ppid, pgid, sid, jobc, state, tt, time と command。 -J 指定された jail ID と一致するプロセスに関する情報を表示します。こ れは、jail の jid または name のいずれかでありえます。ホストプロ セスだけを表示するためには、-J 0 を使用します。このフラグは、デ フォルトで -x の意味を含みます。 -L -O と -o オプションに対して利用可能な一連のキーワードをリストしま す。 -l 次のキーワードに関連する情報を表示します: uid, pid, ppid, cpu, pri, nice, vsz, rss, mwchan, state, tt, time と command。 -M 現在実行しているシステムの代わりに、指定されたコアから名前リスト に関連する値を抽出します。 -m 制御端末順とプロセス ID の組み合わせの代わりに、メモリの使用量で ソートします。 -N システムがブートしたカーネルイメージから抽出するデフォルトの代わ りに、指定されたシステムから名前リストを抽出します。 -O プロセス ID、デフォルトの情報の表示の後に、指定されたキーワードの 空白またはコンマで区切られたリストに関連する情報を追加します。 キーワードは、等号 (`=') と文字列で付け加えられます。これによっ て、印刷 (表示) されるヘッダは、標準のヘッダの代わりに指定された 文字列を使用します。 -o 指定されたキーワードの空白またはコンマで区切られたリストに関連し ている情報を表示します。リストの最後のキーワードは、等号 (`=') サ インと、引数の残りにわたって、空白とコンマ文字を含むことができる 文字列ともに追加できます。これによって、印刷 (表示) されるヘッダ は、標準のヘッダの代わりに指定された文字列を使用します。また、複 数のキーワードは、2 つ以上の -o オプションの形式で与えることがで きます。それで、複数のキーワードのためのヘッダテキストを変更する ことができます。すべてのキーワードに空のヘッダテキストがあるな ら、ヘッダ行は、書き込まれません。 -p 指定されたプロセス ID に一致するプロセスに関する情報を表示しま す。 -r 制御端末とプロセス ID の組み合わせの代わりに、現在の CPU の使用量 によってソートします。 -S プロセス時間、(すなわち、cputime、systime と usertime) が、それら の親プロセスにすべての終了した子プロセスを合計することによって計 算される方法を変更します。 -T 標準入力に関連するデバイスにアタッチされたプロセスに関する情報を 表示します。 -t 指定された端末デバイスにアタッチされたプロセスに関する情報を表示 します。省略形 (tt キーワードの説明を参照) と同様にフルパス名を指 定することができます。 -U 指定された (複数の) ユーザ名に属するプロセスを表示します。 -u 次のキーワードに関連する情報を表示します: user, pid, %cpu, %mem, vsz, rss, tt, state, start, time と command。-u オプションは、-r オプションの意味を含みます。 -v 次のキーワードに関連する情報を表示します: pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, %cpu, %mem と command。-v オプ ションは、-m オプションの意味を含みます。 -w ps が端末と関連するなら、ウィンドウサイズであるデフォルトの代わり に、情報を表示するために、少なくとも 132 のカラムを使用します。-w オプションが 2 度以上指定されるなら、ps は、ウィンドウのサイズを 考慮せずに、必要な数のカラムを使用します。このオプションは、 ``command'' カラムが表示される最後のカラムでないなら、効果がない ことに注意してください。 -X 他のオプションによって一致するプロセスを表示するとき、制御端末が ないあらゆるプロセスをスキップします。これは、デフォルトの振る舞 いです。 -x 他のオプションによって一致するプロセスを表示するとき、制御端末が ないプロセスも含めます。これは、-X オプションの反対です。-X と -x の両方が同じコマンドで指定されるなら、ps は、最後に指定されたもの を使用します。 -Z mac(4) ラベルを ps が情報を表示するためのキーワードのリストに追加 します。 利用可能なキーワードの完全なリストは、以下にリストされます。これらのキー ワードのいくつかは、さらに次のように指定されます: %cpu プロセスの CPU 稼働時間。これは、(実際の) 時間の 1 分前までの減 衰平均です。これが計算される時間の基準が (プロセスが生じたばか りかもしれないので) 変わるので、すべての %cpu フィールドの合計 は、100% を越える可能性があります。 %mem このプロセスによって使用される実際のメモリのパーセンテージ。 class プロセスに関連するログインクラス。 flags インクルードファイル <sys/proc.h> にあるようなプロセスに関連す るフラグ: P_ADVLOCK 0x00001 プロセスは, POSIX アドバイザ リロックを保持している P_CONTROLT 0x00002 制御端末がある P_KPROC 0x00004 カーネルプロセス P_PPWAIT 0x00010 親プロセスは, 子プロセスが exec/exit するのを待っている P_PROFIL 0x00020 開始されたプロファイルがある P_STOPPROF 0x00040 プロファイルを停止する要求中 のスレッドがある P_HADTHREADS 0x00080 スレッドがある (ショートカッ トのクリーンアップなし) P_SUGID 0x00100 最後の exec 以来の SET ID 特 権がある P_SYSTEM 0x00200 システムプロセス: シグナル, stat またはスワップなし P_SINGLE_EXIT 0x00400 サスペンド中のスレッドは, 待 たずに exit すべき P_TRACED 0x00800 デバッグプロセスは, トレース されている P_WAITED 0x01000 誰かが我々を待っている P_WEXIT 0x02000 終了動作中 P_EXEC 0x04000 exec を呼び出されたプロセス P_WKILLED 0x08000 kill される, カーネル/ユーザ 境界 ASAP に行く P_CONTINUED 0x10000 プロセスは, 停止中の状態から 継続されている P_STOPPED_SIG 0x20000 SIGSTOP/SIGTSTP のために停止 された P_STOPPED_TRACE 0x40000 トレースのために停止された P_STOPPED_SINGLE 0x80000 1 つのスレッドのみ継続可能 P_PROTECTED 0x100000 メモリのオーバコミットで kill しない P_SIGEVENT 0x200000 変更されたプロセス保留中のシ グナル P_SINGLE_BOUNDARY 0x400000 スレッドは, ユーザ境界でサス ペンドするべき P_HWPMC 0x800000 プロセスは, HWPMC を使用して いる P_JAILED 0x1000000 プロセスは, jail 中 P_TOTAL_STOP 0x2000000 システムのサスペンドのために 停止された P_INEXEC 0x4000000 プロセスは, execve(2) の中 P_STATCHILD 0x8000000 子プロセスは, 停止したか, 終 了した P_INMEM 0x10000000 メモリにロードされた P_SWAPPINGOUT 0x20000000 プロセスは, スワップアウトさ れている P_SWAPPINGIN 0x40000000 プロセスは, スワップインされ ている P_PPTRACE 0x80000000 vfork された子プロセスは, ptrace (PT_TRACEME) を発行し た flags2 インクルードファイル <sys/proc.h> でのようなプロセスに関連した p_flag2 で保持されるフラグ: P2_INHERIT_PROTECTED 0x00000001 P_PROTECTED を取得する新 しい子プロセス P2_NOTRACE 0x00000002 ptrace(2) のアタッチまた は coredump なし P2_NOTRACE_EXEC 0x00000004 execve(2) で P2_NOPTRACE を保持 P2_AST_SU 0x00000008 kthread のための SU ast を処理 P2_PTRACE_FSTP 0x00000010 まだ処理されていない PT_ATTACH の SIGSTOP label プロセスの MAC ラベル。 lim setrlimit(2) の呼び出しによって指定される、メモリ使用についての ソフト制限。 lstart strftime(3) に記述されている `%c' 形式を使用して、開始されたコ マンドの正確な時間。 lockname プロセスが現在ブロックさあれているロックの名前。名前が無効また は未知であるなら、``???'' が表示されます。 logname プロセスが属しているセッションに関連しているログイン名 (getlogin(2) を参照) mwchan プロセスが通常ブロックされているなら、イベント名、プロセスが ロックでブロックされているなら、ロック名。詳細については、wchan と lockname キーワードを参照してください。 nice プロセススのケジューリングを増加する (setpriority(2) を参照)。 rss (1024 バイト単位の) プロセスの実際のメモリ (常駐部分の) サイ ズ。 start 開始されたコマンドの時間。コマンドが 24 時間以内に開始されたな ら、開始時刻は、strftime(3) に記述されている ``%H:%M'' 形式を使 用して表示されます。コマンドが 7 日以内に開始されたなら、開始時 刻は、``%a%H'' 形式を使用して表示されます。そうでなければ、開始 時刻は、``%e%b%y'' 形式を使用して表示されます。 state 状態は、文字のシーケンスによって与えられます、例えば、 ``RWNA''。最初の文字は、プロセスの実行状態を示します: D ディスク中のプロセス (または他の単期間, 割り込み不可能) を wait とマークする。 I (約 20 秒以上 sleep している) idle であるプロセスをマー クする。 L ロックを獲得するために wait しているプロセスをマークす る。 R runnable プロセスとマークする。 S 約 20 秒未満 sleep しているプロセスをマークする。 T stop しているプロセスをマークする。 W idle の割り込みスレッドをマークする。 Z 死んでいるプロセス (``ゾンビ'') とマークする。 これらの後に、追加の文字があるなら、追加の状態情報を示します: + プロセスは、その制御端末のフォアグラウンドのプロセスグ ループにあります。 < プロセスは、CPU のスケジュール優先度を上げました。 C プロセスは、capsicum(4) ケーパビリティモードです。 E プロセスは、終了しようとしています。 J プロセスは、jail(2) にあります。jail のホスト名を /proc/<pid>/status で見つけることができます。 L プロセスには、(例えば、生の I/O のための) コア中にロッ クされたページがあります。 N プロセスは、CPU のスケジュール優先度 (setpriority(2) 参 照) を減らされました。 s プロセスは、セッションリーダです。 V プロセスの親は、vfork(2) の間に、サスペンドされ、終了す るプロセスを待って、終了します。 W プロセスは、スワップアウトされています。 X プロセスは、トレースされているか、またはデバッグされて います。 tt もしあるなら、制御端末のパス名の省略形。省略形は、/dev/tty に続 く 3 文字か、または擬似端末に対しては、/dev/pts の対応するエン トリから成ります。プロセスがもはやその制御端末に到着することが できないなら (すなわち、それが無効にされているなら)、これは、 `-' が続きます。前の 2 つの文字の省略形または擬似端末デバイス番 号のない `-' は、制御端末がなかったプロセスを示します。制御端末 のフルパス名は、tty キーワードによって利用可能です。 wchan プロセスがウェートしているイベント (システム内のアドレス)。数値 で印刷 (表示) されるとき、アドレスの最初の部分は、取り除かれ、 結果は、16 進数で印刷 (表示) されます、例えば、0x80324000 は、 324000 で印刷 (表示) されます。 command キーワードを使用して印刷 (表示) するとき、終了していて、プロセス をまだウェートしていない親があるプロセス (言い換えれば、ゾンビ) は、 ``<defunct>'' としてリストされ、終了しようと試みている間にブロックされた プロセスは、``<exiting>'' としてリストされます。引数を見つけることができ ないなら (通常、システムプロセス、および/または、カーネルスレッドの場合の ように、それが設定されていないので)、コマンド名は、角括弧に囲まれて印刷 (表示) されます。ps ユーティリティは、(それらが kern.ps_arg_cache_limit sysctl の値より短かいなら) 最初に、カーネルによってキャッシュされた引数を 得よう試みます。プロセスは、setproctitle(3) で示された引数を変更すること ができます。そうでなければ、ps は、プロセスがメモリまたはスワップ領域を検 査することによって作成されたとき、与えられたファイル名と引数として推測に 基づいて行なわれます。方法は、本質的にいくらか信頼できず、いずれにして も、プロセスは、この情報を破壊する資格を与えられます。しかしながら、ucomm (アカウンティング) キーワードは、頼りになります。引数が利用不可能か、また は ucomm キーワードと一致しないなら、ucomm キーワードのための値は、括弧内 の引数に追加されます。 キーワード 次は、利用可能なキーワードとそれらの意味の完全なリストです。それらのいく つかには、別名 (同義語であるキーワード) があります。 %cpu CPU の使用率 (別名 pcpu) %mem メモリの使用率 (別名 pmem) acflag アカウントのフラグ (別名 acflg) args コマンドと引数 class ログインクラス comm コマンド command コマンドと引数 cow コピーオンライト (copy-on-write) の失敗の数 cpu (スケジューリングのための) 短期間の CPU の使用因数 dsiz データサイズ (K バイト単位) emul システムコールのエミュレーション環境 (ABI) etime 累積実行時間、形式 ``[日-][時間:]分:秒'' etimes 累積実行時間、10 進整数秒単位 fib デフォルトの FIB 番号、setfib(1) 参照 flags 16 進数のプロセスフラグ (別名 f) flags2 16 進数のプロセスフラグ (別名 f2) の追加のセット gid 実効グループ ID (別名 egid) group (egid の) グループ名 (別名 egroup) inblk ブロック読み込みの合計 (別名 inblock) jail jail 名 jid jail ID jobc ジョブ制御カウント ktrace トレースのフラグ label MAC ラベル lim メモリ使用の制限 lockname (シンボリック名として) 現在ブロックされているロック logname セッションを開始したユーザのログイン名 lstart 開始された時刻 lwp スレッド (ライトウェートプロセス) ID (別名 tid) majflt ページフォルトの合計 minflt ページ再要求の合計 msgrcv 受信されたメッセージの合計 (パイプ/ソケットからの読み込み) msgsnd 送信されたメッセージの合計 (パイプ/ソケットへの書き込み) mwchan 現在ブロックされている wait チャネルまたはロック nice nice 値 (別名 ni) nivcsw 自発的でない (involuntary) コンテキストスイッチの合計 nlwp プロセスに結びつけられたスレッド (ライトウェートプロセス) の 数。 nsigs 獲得されたシグナルの合計 (別名 nsignals) nswap スワップイン/スワップアウトの合計 nvcsw 自発的なコンテキストスイッチの合計 nwchan wait チャネル (アドレスとして) oublk 書き込まれたブロックの合計 (別名 oublock) paddr プロセスポインタ pagein ページイン (majflt と同様) pgid プロセスグループ番号 pid プロセス ID ppid 親のプロセス ID pri スケジューリングの優先度 re コアに常駐している時間 (秒単位; 127 = 無限) rgid 実グループ ID rgroup (rgid の) グループ名 rss 常駐セットサイズ rtprio リアルタイムの優先度 (rtprio(1) を参照)。 ruid 実ユーザ ID ruser (ruid の) ユーザ名 sid セッション ID sig 保留中のシグナル (別名 pending) sigcatch 捕獲されたシグナル (別名 caught) sigignore 無視されたシグナル (別名 ignored) sigmask ブロックされたシグナル (別名 blocked) sl スリープ時間 (秒単位; 127 = 無限) ssiz スタックサイズ (K バイト単位) start 開始された時刻 state シンボリックのプロセス状態 (別名 stat) svgid setgid 実行形式の保存された gid svuid setuid 実行形式の保存された uid systime 累積されたシステムの CPU 時間 tdaddr スレッドのアドレス tdname スレッドの名前 tdev 制御端末のデバイス番号 time 累積された CPU 時間、ユーザ + システム (別名 cputime) tpgid 制御端末のプロセスグループ ID tracer トレーサプロセス ID tsid 制御端末のセッション ID tsiz テキストサイズ (K バイト単位) tt 制御端末名 (2 文字の省略形) tty 制御端末の完全な名前 ucomm アカウンティングのために使用される名前 uid 実効ユーザ ID (別名 euid) upr システムコールから返るときのスケジューリングの優先度 (別名 usrpri) uprocp プロセスのポインタ user (UID の) ユーザ名 usertime 累積されたユーザの CPU 時間 vmaddr vmspace ポインタ vsz キロバイト単位の仮想サイズ (別名 vsize) wchan wait チャネル (シンボル名として) xstat 終了ステータスまたは停止ステータス (停止されるプロセスか、また はゾンビプロセスに対してのみ有効) -H オプションが指定されていないとき、pending カラムは、プロセスキューで保 留中 (pending) のシグナルのビットマスクを表示し、そうでなければ、保留中の シグナルのスレッド毎のキューが表示されることに注意してください。 環境変数 次の環境変数は、ps の実行に影響します: COLUMNS 設定されるなら、ユーザの好みのカラム位置の出力幅を指定します。デ フォルトで、ps は、自動的に端末の幅を判断しようとします。 関連ファイル /boot/kernel/kernel デフォルトのシステム名前リスト 終了ステータス ユーティリティ ps は、成功すると 0 で、エラーがあった場合は >0 で終了しま す。 使用例 すべてのシステムのプロセスについての情報を表示します: $ ps -auxw 関連項目 kill(1), pgrep(1), pkill(1), procstat(1), w(1), kvm(3), libxo(3), strftime(3), xo_parse_args(3), mac(4), procfs(5), pstat(8), sysctl(8), mutex(9) 規格 歴史的な理由で、FreeBSD に基づく ps ユーティリティは、IEEE Std 1003.2 (``POSIX.2'') によって記述されるものと、非 BSD オペレーティングシステムで サポートされる異なるオプション形式の組をサポートしています。 歴史 ps コマンドは、マニュアルのセクション 8 の Version 3 AT&T UNIX で登場しま した。 バグ ps は、システムより速く実行することができず、あらゆる他のスケジュールされ たプロセスと同様に実行されるので、それが表示する情報は、決して正確になり ません。 ps ユーティリティは、マルチバイト文字を含んでいる引数リストを正確に表示し ません。 FreeBSD 13.2 June 27, 2020 FreeBSD 13.2