ps aux
は、すべてのプロセスとそのステータスおよびリソースの使用状況(Linux/BSD/MacOS)を便利にリストしているようですが、man ps
を使用してパラメーターaux
の意味を理解できません。
aux
はどういう意味ですか?
a =すべてのユーザーのプロセスを表示する
u =プロセスのユーザー/所有者を表示します
x =端末に接続されていないプロセスも表示します
ところで、 man ps
は優れたリソースです。
歴史的に、BSDとAT&Tは互換性のないバージョンのps
を開発しました。先頭のダッシュがないオプション(質問どおり)はBSDスタイルですが、先頭のダッシュがあるオプションはAT&T Unixスタイルです。これに加えて、Linuxは両方のスタイルをサポートするバージョンを開発し、それに2つのダッシュで始まるオプションを持つ3番目のスタイルを追加しました。
すべて(またはほぼすべて)の組み込みでないLinuxディストリビューションは、 procps スイートのバリアントを使用します。上記のオプションは procps ps
man page で定義されています。
コメントで、あなたはあなたがApple MacOS(OSX、私は推測します)を使用していると言います。ps
のOSX manページは here であり、それは示していますAT&Tスタイルのみをサポートします。
a Lift the BSD-style "only yourself" restriction, which is imposed
upon the set of all processes when some BSD-style (without "-")
options are used or when the ps personality setting is BSD-like.
The set of processes selected in this manner is in addition to the
set of processes selected by other means. An alternate
description is that this option causes ps to list all processes
with a terminal (tty), or to list all processes when used together
with the x option.
u Display user-oriented format.
x Lift the BSD-style "must have a tty" restriction, which is imposed
upon the set of all processes when some BSD-style (without "-")
options are used or when the ps personality setting is BSD-like.
The set of processes selected in this manner is in addition to the
set of processes selected by other means. An alternate
description is that this option causes ps to list all processes
owned by you (same EUID as ps), or to list all processes when used
together with the a option.
$ ps aux | head -10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 51120 2796 ? Ss Dec22 0:09 /usr/lib/systemd/systemd --system --deserialize 22
root 2 0.0 0.0 0 0 ? S Dec22 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Dec22 0:04 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< Dec22 0:00 [kworker/0:0H]
root 7 0.0 0.0 0 0 ? S Dec22 0:15 [migration/0]
root 8 0.0 0.0 0 0 ? S Dec22 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? S Dec22 2:47 [rcu_sched]
...
saml 3015 0.0 0.0 117756 596 pts/2 Ss Dec22 0:00 bash
saml 3093 0.9 4.1 1539436 330796 ? Sl Dec22 70:16 /usr/lib64/Thunderbird/thunderbird
saml 3873 0.0 0.1 1482432 8628 ? Sl Dec22 0:02 gvim -f
root 5675 0.0 0.0 124096 412 ? Ss Dec22 0:02 /usr/sbin/crond -n
root 5777 0.0 0.0 51132 1068 ? Ss Dec22 0:08 /usr/sbin/wpa_supplicant -u -f /var/log/wpa_supplica
saml 5987 0.7 1.5 1237740 119876 ? Sl Dec26 14:05 /opt/google/chrome/chrome --type=renderer --lang=en-
root 6115 0.0 0.0 0 0 ? S Dec27 0:06 [kworker/0:2]
...
上記のスイッチを使用すると、上記のようなプロセスに関する出力が得られます。
スイッチaux
はあなたに表示します:
manpage を理解するための鍵は、「aux」(私が最初に試した)を検索することではなく、パラメータps
の種類を説明するセクションに焦点を当てることです。
このバージョンのpsは、いくつかの種類のオプションを受け入れます。
- グループ化される場合があり、先頭にダッシュを付ける必要があるUNIXオプション。
- BSDオプション。グループ化される場合があり、ダッシュと一緒に使用してはなりません。
- 2つのダッシュが前に付いたGNUの長いオプション。
このことから、aux
は(グループ化された)BSDオプションのセットであるa
、u
およびx
であることがわかります。アップ。
a
およびx
は、選択するプロセスを制御し、すべてのプロセスを選択するために一緒に使用することを明示的に説明しています。
u
は、「ユーザー指向」形式を使用して出力します。これにより、ユーザーIDやCPU /メモリの使用量など、より多くの列が提供されます。
u
だけで出力形式を制御するため、ps u $pid1 $pid2 ...
を使用すると、特定のプロセスのみの「ps aux」スタイルの出力を取得できます。