多くの場合、CLIコマンドにオプションを渡すと、関数の動作が異なります。それらはすべて意味を持ちます。例えば
-v
は「詳細」を意味します-l
は「リスト」を意味しますps
コマンドは実行中のすべてのプロセスをリストしますが、-aux
オプションを渡すと、rootを含むすべてのユーザーからのプロセスを表示します。
だから私の質問は:ps
コマンドの-aux
引数は何を表しているのでしょうか?
man ps
から、ps
コマンドのマニュアルページ(抜粋のみ):
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.
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.
u Display user-oriented format.
したがって、a
引数を使用すると、プロセスが端末に接続されている場合、現在のユーザーだけではなく、すべてのユーザーのプロセスをps
で表示できます。
x
は、ps
にもリスト内のどの端末にも接続されていないプロセスを含めます。したがって、ax
を一緒に使用すると、ps
がすべてのプロセスを制限なしにリストします。
u
は、出力形式と表示列を単に変更します。
@steeldriverがコメントで正しく言及しているように、ps
はBSDスタイル(a
)とGNUスタイル(-a
)の両方の引数をサポートしているため、少し特別です。したがって、ps aux
はps -aux
とまったく同じではありませんが、移行を容易にするために同じように実装することもできます。マニュアルページの関連する段落には次のように記載されています。
Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX
standards require that "ps -aux" print all processes owned by a user
named "x", as well as printing all processes that would be selected by
the -a option. If the user named "x" does not exist, this ps may
interpret the command as "ps aux" instead and print a warning. This
behavior is intended to aid in transitioning old scripts and habits.
It is fragile, subject to change, and thus should not be relied upon.