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
사용하고 유닉스 -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.
어느 것을 사용해야합니까? 출력으로 무엇을 하시겠습니까?
또한, BSD 옵션을 전혀 사용하지 않는 EXAMPLES
부분을 참고하십시오 :-ef
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
afaik