web-dev-qa-db-ja.com

psの-auxオプションは何を表していますか?

多くの場合、CLIコマンドにオプションを渡すと、関数の動作が異なります。それらはすべて意味を持ちます。例えば

  • -vは「詳細」を意味します
  • -lは「リスト」を意味します

psコマンドは実行中のすべてのプロセスをリストしますが、-auxオプションを渡すと、rootを含むすべてのユーザーからのプロセスを表示します。

だから私の質問は:psコマンドの-aux引数は何を表しているのでしょうか?

1
ShiverFlame

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 auxps -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.
3
Byte Commander