私は間の出力に差がある参照ps ef
とはps -ef
。その違いは何ですか、両方のコマンドは正しいですか、どちらが好ましいですか?
私は間の出力に差がある参照ps ef
とはps -ef
。その違いは何ですか、両方のコマンドは正しいですか、どちらが好ましいですか?
回答:
を参照してくださいman ps
(システム上のもの、オンラインではさまざまな説明があります)。
This version of ps accepts several kinds of options:
1 UNIX options, which may be grouped and must be preceded by a dash.
2 BSD options, which may be grouped and must not be used with a dash.
3 GNU long options, which are preceded by two dashes.
したがって、最初の方法(ps ef
)はBSDスタイルであり、マニュアルページは
BSDスタイルのオプションを使用すると、デフォルトのディスプレイにプロセス状態(stat = STAT)が追加され、実行可能ファイル名の代わりにコマンドargs(args = COMMAND)が表示されます。PS_FORMAT環境変数でこれを上書きできます。BSDスタイルのオプションを使用すると、プロセスの選択も変更され、ユーザーが所有する他の端末(TTY)上のプロセスが含まれます。あるいは、これは、選択を、他のユーザーが所有するプロセスまたは端末上にないプロセスを除外するためにフィルター処理されたすべてのプロセスのセットに設定することとして説明できます。以下でオプションが「同一」であると説明されている場合、これらの効果は考慮されないため、-MはZなどと同一と見なされます。
したがって、両方とも有効なコマンドですが、同じ情報を表示していません。
man ps
言う:
This version of ps accepts several kinds of options:
1 UNIX options, which may be grouped and must be preceded by a
dash.
2 BSD options, which may be grouped and must not be used with a
dash.
3 GNU long options, which are preceded by two dashes.
したがって、ef
BSD e
とf
オプションを-ef
使用し、Unix -e
と-f
オプションを使用します。これらは異なります(セクションSIMPLE PROCESS SELECTION
、OUTPUT FORMAT CONTROL
およびOUTPUT MODIFIERS
それぞれ):
-e Select all processes. Identical to -A.
-f Do full-format listing. This option can be combined with many
other UNIX-style options to add additional columns. It also
causes the command arguments to be printed. When used with
-L, the NLWP (number of threads) and LWP (thread ID) columns
will be added. See the c option, the format keyword args, and
the format keyword comm.
e Show the environment after the command.
f ASCII art process hierarchy (forest).
明らかに、ef
オプションを使用してすべてのプロセスを選択しているのではなく、プロセスのデフォルトのリストといくつかの追加のフォーマットを使用しています。
By default, ps selects all processes with the same effective user ID
(euid=EUID) as the current user and associated with the same terminal
as the invoker. It displays the process ID (pid=PID), the terminal
associated with the process (tname=TTY), the cumulated CPU time in
[DD-]hh:mm:ss format (time=TIME), and the executable name (ucmd=CMD).
Output is unsorted by default.
The use of BSD-style options will add process state (stat=STAT) to
the default display and show the command args (args=COMMAND) instead
of the executable name. You can override this with the PS_FORMAT
environment variable. The use of BSD-style options will also change
the process selection to include processes on other terminals (TTYs)
that are owned by you; alternately, this may be described as setting
the selection to be the set of all processes filtered to exclude
processes owned by other users or not on a terminal.
どちらを使うべきですか?出力をどうしますか?
また、次のEXAMPLES
セクションも参照してください(-ef
かなり目立つリストであり、BSD e
オプションをまったく使用していません)。
EXAMPLES
To see every process on the system using standard syntax:
ps -e
ps -ef
ps -eF
ps -ely
To see every process on the system using BSD syntax:
ps ax
ps axu
To print a process tree:
ps -ejH
ps axjf
ps -ef
==ps aux
私の知る限り