Qual usar de ps ef ou ps -ef?

11

Eu vejo que há uma diferença na saída entre ps ef e ps -ef . Qual é essa diferença, os dois comandos estão corretos ou são preferidos?

    
por Niklas Rosencrantz 03.08.2017 / 10:06

2 respostas

17

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

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 ) é o estilo BSD e a página de manual continua com

  

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

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

    
por Rinzwind 03.08.2017 / 10:12
17

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.

Portanto, ef usa as opções% BSD% e e do BSD e f usa as opções -ef e -e do Unix. Estes são diferentes (seções -f , SIMPLE PROCESS SELECTION e OUTPUT FORMAT CONTROL 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).

É evidente que você não está selecionando todos os processos usando as opções OUTPUT MODIFIERS , mas usando a listagem padrão de processos, além de algumas formatações adicionais:

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 seção ef (que lista EXAMPLES bastante proeminente, e não usa a opção -ef do BSD em absoluto):

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
    
por muru 03.08.2017 / 10:14

Tags