ps aux
は、すべてのプロセスとそのステータスおよびリソース使用量(Linux / BSD / MacOS)を便利にリストしているようです。ただし、man ps
を使用してパラメータaux
の意味を理解できません。
はどういう意味ですか?
コメント
- BTW ps =プロセスステータス
回答
a =すべてのユーザーのプロセスを表示
u =プロセスのユーザー/所有者を表示
x =端末に接続されていないプロセスも表示
ちなみに、man ps
は優れたリソースです。
歴史的に、BSDとAT & Tはps
の互換性のないバージョンを開発しました。先頭にダッシュがないオプションはBSDスタイルですが、先頭にダッシュがあるオプションはAT & T Unixスタイル。これに加えて、Linuxは両方のスタイルをサポートするバージョンを開発しました次に、二重ダッシュで始まるオプションを備えた3番目のスタイルを追加します。
すべて(またはほぼすべて)の非組み込みLinuxディストリビューションは、 procps スイート。上記のオプションは、 procps ps
のマニュアルページで定義されているとおりです。
コメント内、あなたはあなたがApple MacOS(OSX、私は推測する)を使っていると言います。 ps
のOSXマニュアルページはこちらで、AT & Tスタイル。
コメント
- @HowardGuo ' tではありませんか
-u
だけではなくu
? - @HowardGuo GNU間の違いを反映するように、回答を更新しました(Linux)バージョンの
ps
とAppleOSXバージョン。この質問には現在、" Linux "のタグが付けられています。 MacOSについても質問している場合は、タグを更新することをお勧めします。 - ありがとうございます。 Linuxでpsのマニュアルページを確認したところ、
aux
に関する情報がありますが、MacOS 'のマニュアルページにはそのような情報がありません。ドキュメントのバグである。 -
ps
のOSXマニュアルページには" …ps aux
はTiger "の"レガシーの説明"セクション。 - "
man ps
はMacの優れたリソースであるというコメントに反対する必要があります。 OSX。マニュアルページは、最後にのみ、ps aux
が便宜上維持されていることを示していますが、最後の前にハイフンを付けずにオプションを指定できるというヒントはまったくありません。ページは長くて非常に複雑であり、読者はこのスタック交換の質問をあきらめてグーグルする前に、自分の正気を質問することに多くの時間を費やすことができます。
回答
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
には次のように表示されます。
- すべてのユーザーのプロセス
- ユーザー指向の方法で(ユーザー名で)リストされたプロセスを表示します
- 端末に接続されているプロセスだけでなく、すべてのプロセスを表示します。これには、crond、upowerdなどのサービスなどのプロセスが含まれます。
回答
理解するための鍵 manpage は、「aux」(最初に試したもの)を検索するのではなく、パラメーターの種類を説明するセクションに焦点を当てていますps
かかります:
このバージョンのpsは、いくつかの種類のオプションを受け入れます:
- UNIXオプション、グループ化でき、ダッシュを前に付ける必要があります。
- グループ化でき、ダッシュを付けて使用してはならないBSDオプション。
- GNUの長いオプション。前にダッシュを付けます。 2つのダッシュ。
これから、aux
は(グループ化された)のセットであることがわかります。 )BSDオプション、a
、u
、x
。これにより、見やすくなります。 up。
-
a
およびx
の制御lどのプロセスが選択され、一緒に使用されるかは、すべてのプロセスを選択するために明示的に記述されます。 -
u
「ユーザー指向」を使用した出力”フォーマット。ユーザーIDやCPU /メモリ使用量など、より多くの列を提供します。
u
だけで出力形式を制御するため、
。