Qual usar de ps ef ou ps -ef?


Respostas:


18

Veja man ps(o do seu sistema, on-line pode ter explicações diferentes).

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.

Portanto, o primeiro método ( ps ef) é no estilo BSD e a página do manual continua com

O uso de opções no estilo BSD adicionará o estado do processo (stat = STAT) à exibição padrão e mostrará o comando args (args = COMMAND) em vez do nome do executável . Você pode substituir isso pela variável de ambiente PS_FORMAT. O uso de opções no estilo BSD também mudará a seleção do processo para incluir processos em outros terminais (TTYs) que pertencem a você; alternativamente, isso pode ser descrito como definir a seleção como o conjunto de todos os processos filtrados para excluir processos pertencentes a outros usuários ou não em um terminal. Esses efeitos não são considerados quando as opções são descritas como "idênticas" abaixo, portanto -M será considerado idêntico a Z e assim por diante.

Portanto, ambos são comandos válidos, mas não estão mostrando as mesmas informações.


19

man ps diz:

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.

Então, efusa o BSD ee as fopções, e -efusa o Unix -ee as -fopções. Estes são diferentes (secções SIMPLE PROCESS SELECTION, OUTPUT FORMAT CONTROLe OUTPUT MODIFIERS, respectivamente):

   -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).

Claramente, você não está selecionando todos os processos usando as efopções, mas usando a lista padrão de processos, além de alguma formatação adicional:

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.

Qual você deve usar? O que você quer fazer com a saída?

Além disso, consulte a EXAMPLESseção (que lista com -efbastante destaque e não usa a eopção BSD ):

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.