doc/ja_JP.eucJP/man/man1/ps.1
SUZUKI Koichi 72c39dee78 Catch up with 5.4-Release.
bsdtar.1 will be added and tar.1 deleted after repocopy is finished.

Submitted by: kano at na rim or jp
Coordinated by: Nobuyuki Koganemaru <n-kogane at syd odn ne jp>
2005-07-11 13:09:56 +00:00

627 lines
17 KiB
Groff

.\"-
.\" Copyright (c) 1980, 1990, 1991, 1993, 1994
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)ps.1 8.3 (Berkeley) 4/18/94
.\" %FreeBSD: src/bin/ps/ps.1,v 1.79.2.2 2005/02/22 06:50:54 delphij Exp %
.\"
.\" $FreeBSD$
.Dd March 27, 2004
.Dt PS 1
.Os
.Sh 名称
.Nm ps
.Nd プロセスの状態の表示
.Sh 書式
.Nm
.Op Fl aCcefHhjlmrSTuvwXxZ
.Op Fl O Ar fmt | Fl o Ar fmt
.Op Fl G Ar gid Ns Op , Ns Ar gid Ns Ar ...
.Op Fl M Ar core
.Op Fl N Ar system
.Op Fl p Ar pid Ns Op , Ns Ar pid Ns Ar ...
.Op Fl t Ar tty Ns Op , Ns Ar tty Ns Ar ...
.Op Fl U Ar user Ns Op , Ns Ar user Ns Ar ...
.Nm
.Op Fl L
.Sh 解説
.Nm
ユーティリティは、ユーザのプロセスのうち制御端末を持つもの
すべての情報を、
ヘッダ行に続いて表示します。
.Pp
.Fl a , G , p , T , t , U
オプションの任意の組み合わせを使用することで、
表示するプロセスの集合を選択することができます。
.Nm
これらのうち、複数のオプションが与えられると、
.Nm
は、与えられたオプションの少なくとも 1 つにマッチしたプロセスを
すべて選択します。
.Pp
表示対象として選択されたプロセスに対し、
.Nm
は、通常 1 プロセス当たり 1 行で表示します。
.Fl H
オプションにより、プロセスによっては、
複数行 (1 スレッド当たり 1 行) 表示することがあります。
デフォルトでは、すべての出力行は、最初に制御端末順、
その中でプロセス ID 順に整列されます。
この整列順は、
.Fl m , r , u , v
オプションで変更します。
複数の整列オプションが与えられた場合、
最後に指定した整列オプションに従い選択されたプロセスを整列します。
.Pp
表示対象として選択されたプロセスに対し、
キーワードの組に基づき表示する情報を選択します
.Pf ( Fl L , O , o
オプションを参照)。
デフォルトの出力形式には、プロセスごとに、プロセス ID、制御端末、
CPU 時間 (ユーザ時間とシステム時間の両方)、プロセス状態、
プロセスに関連するコマンドが含まれます。
.Pp
.Nm
を実行するときには、プロセスファイルシステム
.Pf ( Xr procfs 5
参照) をマウントしておく必要があります。
そうでない場合、必ずしもすべての情報が利用可能になるわけではありません。
.Pp
オプションを以下に示します。
.Bl -tag -width indent
.It Fl a
自分のプロセスに加え自分以外のユーザのプロセスの情報も同様に表示します。
.Fl x
オプションを指定しない限り、制御端末を持たないプロセスは
すべてスキップされます。
この機能は、
.Va security.bsd.see_other_uids
sysctl を 0 に設定することで無効化できます。
.It Fl c
.Dq コマンド
桁の出力を、コマンド行すべてを表示するのではなく、
実行形式の名前だけを表示するように変更します。
.It Fl C
CPU パーセンテージの計算方法を、
.Dq 常駐
時間を無視する
.Dq
CPU 時間を使う方法に変更します (通常これは効果がありません)。
.It Fl e
環境 (変数) も同時に表示します。
.It Fl f
スワップアウトされたプロセスに関して、
コマンド行と環境の情報を表示します。
ユーザの UID が 0 である場合のみ、このオプションが有効になります。
.It Fl G
指定されたグループ ID を持つ、走行中のプロセスについての情報を表示します。
.It Fl H
各プロセスに関連する、
.Em カーネルから見える
スレッドのすべてを表示します。
使用中のスレッドパッケージに依存し、プロセスのみの表示か、
カーネルスケジュールエンティティのみの表示か、
全プロセススレッドの表示のいずれかになります。
.It Fl h
ページごとに 1 つヘッダが入るように、必要なだけの情報ヘッダを繰り返し
表示します。
.It Fl j
次のキーワードに関する情報を表示します。
.Cm user , pid , ppid , pgid , sid , jobc , state , tt , time , command
.It Fl L
.Fl O , o
オプションに対し利用可能ななキーワードの一覧を表示します。
.It Fl l
次のキーワードに関する情報を表示します。
.Cm uid , pid , ppid , cpu , pri , nice , vsz , rss , mwchan , state ,
.Cm tt , time , command
.It Fl M
名前リストの値を取り出すとき、現在実行中のシステムからでなく、
指定したコアから取り出します。
.It Fl m
制御端末順とプロセス ID 順の組み合わせでなく、
メモリ使用量順に整列します。
.It Fl N
指定されたシステムから名前リストを取り出します。
デフォルトは、システムの起動で使用したカーネルイメージから
取り出します。
.It Fl O
デフォルトで表示される情報に加え、
指定されたキーワードに関する情報を、
プロセス ID の後に挿入する形式で表示します。
キーワードは、空白またはコンマで区切って指定可能です。
各キーワードの後ろには、等号
.Pq Ql =
と文字列を追加しても構いません。
この場合、標準のヘッダの代わりに指定された文字列が表示されます。
.It Fl o
指定されたキーワードに関する情報を、表示します。
キーワードは、空白またはコンマで区切って指定可能です。
また、複数の
.Fl o
オプションを使用することでも、複数のキーワードを指定可能です。
各キーワードの後ろには、等号
.Pq Ql =
と文字列を追加しても構いません。
この場合、標準のヘッダの代わりに指定された文字列が表示されます。
.It Fl p
指定したプロセス ID に一致するプロセスに関する情報を表示します。
.It Fl r
制御端末とプロセス ID 順ではなく、現在の CPU 利用率順に整列します。
.It Fl S
プロセス時間を計算するのに、
終了した子プロセスの時間を親プロセスに合計するように変更します。
.It Fl T
標準入力のデバイスに取り付けられたプロセスの情報を表示します。
.It Fl t
指定された端末デバイスに取り付けられたプロセスの情報を表示します。
.It Fl U
指定されたユーザ名 (複数指定可) に属するプロセスを表示します。
.It Fl u
次のキーワードに関する情報を表示します:
.Cm user , pid , %cpu , %mem , vsz , rss , tt , state , start , time , command
.Fl u
オプションを指定すると
.Fl r
オプションも暗に指定したことになります。
.It Fl v
次のキーワードに関する情報を表示します:
.Cm pid , state , time , sl , re , pagein , vsz , rss , lim , tsiz ,
.Cm %cpu , %mem , command
.Fl v
オプションを指定すると
.Fl m
オプションも暗に指定したことになります。
.It Fl w
デフォルトの現行ウィンドウ幅ではなく、132 桁幅で表示します。
二度以上
.Fl w
オプションを指定すると、
.Nm
はウィンドウ幅にかかわらず、必要なだけの幅を使用します。
.It Fl X
他のオプションにより一致したプロセスを表示する際に、
制御端末を持たないプロセスは表示しません。
.It Fl x
他のオプションにより一致したプロセスを表示する際に、
制御端末を持たないプロセスも含めて表示します。
これは
.Fl X
オプションの逆です。
.Fl X
.Fl x
との両方が同じコマンドに指定された場合、
.Nm
は最後に指定されたものを使用します。
.It Fl Z
.Nm
が情報を表示するキーワードリストに、
.Xr mac 4
ラベルを追加します。
.El
.Pp
有効なキーワードの全リストを以下に示します。
いくつかのキーワードに関してはさらに詳しく述べます。
.Bl -tag -width lockname
.It Cm %cpu
プロセスの CPU 利用率です。実時間で最近 1 分間の減衰平均です。
計算の基点となる時間は変化するので
(プロセスはまだ生れたばかりかもしれないので)、
.Cm %cpu
フィールド全部の合計は 100% を越える可能性もあります。
.It Cm %mem
プロセスで使われている実メモリのパーセンテージです。
.It Cm flags
インクルードファイル
.In sys/proc.h
でプロセスに定義されたフラグです。
.Bl -column P_STOPPED_SINGLE 0x4000000
.It Dv "P_ADVLOCK" Ta No "0x00001 プロセスは POSIX アドバイザリロックを保持している"
.It Dv "P_CONTROLT" Ta No "0x00002 制御端末を持っている"
.It Dv "P_KTHREAD" Ta No "0x00004 カーネルスレッド"
.It Dv "P_NOLOAD" Ta No "0x00008 ロードアベレージ計算中は無視"
.It Dv "P_PPWAIT" Ta No "0x00010 親プロセスが、子プロセスが exec/exit するのを待っている"
.It Dv "P_PROFIL" Ta No "0x00020 プロファイル付きで実行された"
.It Dv "P_STOPPROF" Ta No "0x00040 プロファイル停止要求中のスレッドあり"
.It Dv "P_SUGID" Ta No "0x00100 最後の実行以来、id 特権が設定されている"
.It Dv "P_SYSTEM" Ta No "0x00200 システムプロセス: シグナルや stat やスワップが無い"
.It Dv "P_SINGLE_EXIT" Ta No "0x00400 サスペンド中のスレッドは待たずに exit すべき"
.It Dv "P_TRACED" Ta No "0x00800 デバッグプロセスはトレースされている"
.It Dv "P_WAITED" Ta No "0x01000 自分を待っているものが存在する"
.It Dv "P_WEXIT" Ta No "0x02000 終了動作中"
.It Dv "P_EXEC" Ta No "0x04000 プロセスは exec で呼ばれた"
.It Dv "P_SA" Ta No "0x08000 scheduler activation を使用中"
.It Dv "P_CONTINUED" Ta No "0x10000 プロセスが停止中の状態から実行再開した"
.It Dv "P_STOPPED_SIG" Ta No "0x20000 SIGSTOP/SIGTSTP により停止した"
.It Dv "P_STOPPED_TRACE" Ta No "0x40000 トレースにより停止した"
.It Dv "P_STOPPED_SINGLE" Ta No "0x80000 単一スレッドのみ実行継続可能"
.It Dv "P_PROTECTED" Ta No "0x100000 メモリの過剰コミットでもプロセスを kill しない"
.It Dv "P_SIGEVENT" Ta No "0x200000 未処理のシグナル変化を持つプロセス"
.It Dv "P_JAILED" Ta No "0x1000000 プロセスは jail に存在する"
.It Dv "P_INEXEC" Ta No "0x4000000 プロセスは execve() 状態にある"
.El
.It Cm label
プロセスの MAC ラベルです。
.It Cm lim
.Xr setrlimit 2
の呼び出しで指定される、メモリ使用量のソフトリミットです。
.It Cm lstart
コマンドの実行が始まった正確な時刻を、
.Xr strftime 3
で規定された
.Ql %c
フォーマットで表示します。
.It Cm lockname
プロセスが現在ブロックされているロックの名前です。
名前が不正または未知の場合、
.Dq ???\&
が表示されます。
.It Cm mwchan
プロセスが通常のブロック状態ではイベント名であり、
プロセスがロックでブロックされている場合にはロックの名前です。
詳細は、キーワード wchan と lockname を参照してください。
.It Cm nice
プロセススケジューリングにおける増加値です
.Ns ( Xr setpriority 2
参照)。
.\" .Ns により ( と setpriority が離れるのを防ぐ
.\" by horikawa@jp.freebsd.org (Feb 9 1997)
.It Cm rss
プロセスの実メモリ (常駐分) の大きさ (1024バイト単位) です。
.It Cm start
コマンドが開始された時間です。
コマンドが開始されたのが 24 時間以内なら、
開始時刻は
.Xr strftime 3
で記述された
.Dq Li %l:ps.1p
フォーマットで表示されます。
コマンドが開始されたのが 7 日以内なら、
開始時刻は
.Dq Li %a6.15p
フォーマットで表示されます。
さもなくば、開始時刻は
.Dq Li %e%b%y
フォーマットで表示されます。
.It Cm state
プロセスの状態を文字の列で表示します。
例えば、
.Dq Li RWNA
の最初の文字は、プロセスが runnable 状態であることを示しています。
.Pp
.Bl -tag -width indent -compact
.It Li D
プロセスはディスク (あるいは他の割り込み不可能な短期間の) 待ち状態です。
.It Li I
プロセスは idle 状態 (20 秒以上 sleep している) です。
.It Li L
プロセスはロック獲得を待っている状態です。
.It Li R
プロセスは runnable 状態です。
.It Li S
プロセスは 20 秒未満の sleep 状態です。
.It Li T
プロセスは stop している状態です。
.It Li W
スレッドは割り込みアイドル状態です。
.It Li Z
プロセスは死んでいる状態
.Pf ( Dq ゾンビ )
です。
.El
.Pp
さらにこの後に文字があれば、さらなる状態情報を示します。
.Pp
.Bl -tag -width indent -compact
.It Li +
プロセスはその制御端末のフォアグラウンドプロセスグループに属しています。
.It Li <
プロセスは CPU のスケジュール優先度が上げられています。
.It Li E
プロセスは終了しようとしています。
.It Li J
プロセスは
.Xr jail 2
中のものです。
牢獄のホスト名は
.Pa /proc/ Ns Ao Ar pid Ac Ns Pa /status
に記述されています。
.It Li L
プロセスは実メモリ中にロックされたページ
(例えば、raw
.Tn I/O
用) を持っています。
.It Li N
プロセスは CPU スケジューリング優先度
.Ns ( Xr setpriority 2
参照) が下げられています。
.It Li s
プロセスはセッションリーダです。
.It Li V
プロセスは
.Xr vfork 2
の間、一時中断されています。
.It Li W
プロセスはスワップアウトされています。
.It Li X
プロセスはトレースされているか、デバッグされています。
.El
.It Cm tt
もしあれば、制御端末のパス名の省略形です。
省略形は
.Pa /dev/tty
に続く 3 文字か、コンソール場合の
.Dq Li con
です。
もはやプロセスがその制御端末に到達できない (即ち、revoke された)
場合、うしろに
.Ql -
が付きます。
.It Cm wchan
プロセスが待っているイベント (システム内のアドレス)。
数字で表示される時には、アドレスの最初の部分は削られて
その結果が 16 進で表示されます。例えば 0x80324000 では 324000 と表示されます。
.El
.Pp
キーワード command には、
すでに終了しているのに親がまだ wait してくれていない
プロセス(即ちゾンビ)は
.Dq Li <defunct>
と表示されます。
終了しようとしてブロックされているプロセスは
.Dq Li <exiting>
と表示されます。
コマンド引数の列の場所を特定できない場合 (通常、設定されていないため、
システムプロセスであるため、カーネルスレッドであるため)、
コマンド名は、角括弧で囲まれて表示されます。
.Nm
ユーティリティは、メモリやスワップ領域を検査して、
プロセスが生成されたときのファイル名や引数を推測します。
この方法は、本質的に少々信頼できるものではなく、
プロセスはとにかくこの情報を破壊することができます。
だから、表示されるコマンド名や引数をあまり信用しすぎてはなりません。
一方、キーワード ucomm (アカウンティング名) は信用できます。
.Sh キーワード
以下は有効なキーワードとその意味の全リストです。
そのうちいくつかは別名があります。
.Pp
.Bl -tag -width ".Cm sigignore" -compact
.It Cm %cpu
CPU 使用率 (別名
.Cm pcpu )
.It Cm %mem
メモリ使用率 (別名
.Cm pmem )
.It Cm acflag
アカウンティングフラグ (別名
.Cm acflg )
.It Cm args
コマンド名と引数
.It Cm comm
コマンド名
.It Cm command
コマンド名と引数
.It Cm cpu
短期間 CPU 使用係数 (スケジューリング用)
.It Cm etime
累積実行時間
.It Cm flags
16 進数のプロセスフラグ (別名
.Cm f )
.It Cm inblk
総ブロック読み出し数 (別名
.Cm inblock )
.It Cm jobc
ジョブコントロール数
.It Cm ktrace
トレース中フラグ
.It Cm label
MAC ラベル
.It Cm lim
メモリ利用のリミット
.It Cm logname
プロセスを開始したユーザのログイン名
.It Cm lstart
開始時刻
.It Cm majflt
総ページフォールト数
.It Cm minflt
総ページ再生数
.It Cm msgrcv
総メッセージ受信数 (パイプ/ソケットからの読み込み)
.It Cm msgsnd
総メッセージ送信数 (パイプ/ソケットへの書き込み)
.It Cm lockname
現在ブロックされているロック (シンボル名)
.It Cm mwchan
現在ブロックされているチャネルまたはロック
.It Cm nice
nice 値 (別名
.Cm ni )
.It Cm nivcsw
総強制的コンテキストスイッチ数
.It Cm nsigs
総シグナル受け入れ数 (別名
.Cm nsignals )
.It Cm nswap
総スワップイン/スワップアウト数
.It Cm nvcsw
総自発的コンテキストスイッチ数
.It Cm nwchan
wait チャネル (アドレスで表示)
.It Cm oublk
総ブロック書き込み数 (別名
.Cm oublock )
.It Cm paddr
スワップアドレス
.It Cm pagein
ページイン数 (majflt と同じ)
.It Cm pgid
プロセスグループ番号
.It Cm pid
プロセス ID
.It Cm poip
進行中のページアウト数
.It Cm ppid
親プロセス ID
.It Cm pri
スケジューリング優先度
.It Cm re
実メモリ常駐時間 (秒単位; 127 = 無限)
.It Cm rgid
実グループ ID
.It Cm rgroup
グループ名 (rgid に基きます)
.It Cm rlink
run 行列における逆リンク (あるいは 0)
.It Cm rss
常駐セットサイズ
.It Cm rtprio
実時間優先度 (101 = 実時間プロセスではない)
.It Cm ruid
実ユーザ ID
.It Cm ruser
ユーザ名 (ruid から得られたもの)
.It Cm sid
セッション ID
.It Cm sig
遅延されたシグナル (別名
.Cm pending )
.It Cm sigcatch
捕獲されたシグナル (別名
.Cm caught )
.It Cm sigignore
無視されたシグナル (別名
.Cm ignored )
.It Cm sigmask
ブロックされたシグナル (別名
.Cm blocked )
.It Cm sl
sleep 時間 (秒単位; 127 = 無限)
.It Cm start
開始時刻
.It Cm state
記号でのプロセス状態 (別名
.Cm stat )
.It Cm svgid
setgid プログラムでの saved gid
.It Cm svuid
setuid プログラムでの saved uid
.It Cm tdev
制御端末のデバイス番号
.It Cm time
ユーザ + システムの合計 cpu 時間 (別名
.Cm cputime )
.It Cm tpgid
制御端末プロセスグループ ID
.\".It Cm trss
.\"text resident set size (in Kbytes)
.\"テキスト常駐セットサイズ(Kbyte単位)
.It Cm tsid
制御端末のセッション ID
.It Cm tsiz
テキストサイズ (K バイト単位)
.It Cm tt
制御端末名 (2 文字の省略形)
.It Cm tty
制御端末の完全な名前
.It Cm uprocp
プロセスポインタ
.It Cm ucomm
アカウンティングで使われるコマンド名
.It Cm uid
実効ユーザ ID
.It Cm upr
システムコールから帰る時のスケジューリング優先度 (別名
.Cm usrpri )
.It Cm user
ユーザ名 (UID から得たもの)
.It Cm vsz
キロバイト単位の仮想記憶サイズ (別名
.Cm vsize )
.It Cm wchan
wait チャネル (シンボル名で表示)
.It Cm xstat
終了ステータスまたは stop ステータス
(stop プロセスかゾンビプロセスの時のみに有効)
.El
.Sh 環境変数
次の環境変数が
.Nm
の実行に影響します:
.Bl -tag -width ".Ev COLUMNS"
.It Ev COLUMNS
設定されている場合、ユーザの好みの出力幅をコラム数で指定します。
デフォルトでは、
.Nm
は自動的に端末幅を取得しようとします。
.El
.Sh 関連ファイル
.Bl -tag -width ".Pa /boot/kernel/kernel" -compact
.It Pa /boot/kernel/kernel
デフォルトのシステム名前リスト
.It Pa /proc
.Xr procfs 5
のマウントポイント
.El
.Sh 関連項目
.Xr kill 1 ,
.Xr pgrep 1 ,
.Xr pkill 1 ,
.Xr w 1 ,
.Xr kvm 3 ,
.Xr strftime 3 ,
.Xr mac 4 ,
.Xr procfs 5 ,
.Xr pstat 8 ,
.Xr sysctl 8 ,
.Xr mutex 9
.Sh 規格
歴史的経緯により、
.Fx
における
.Nm
ユーティリティは、
.St -p1003.2
が規定するオプションで、非
.Bx
オペレーティングシステムがサポートしているオプション
と異なるものをサポートしています。
.Sh 歴史
.Nm
コマンドは
.At v4
に登場しました。
.Sh バグ
.Nm
はシステムより速く実行できず、
他のプロセスと同様にスケジュールされて実行されるので、
表示される情報は正確ではあり得ません。
.Pp
.Nm
ユーティリティは、マルチバイト文字を含む引数リストを正しく表示しません。