O que significa aux em 'ps aux'?

135

ps aux parece listar convenientemente todos os processos e seu status e uso de recursos (Linux / BSD / MacOS), mas não consigo compreender o significado do parâmetro aux usando man ps .

O que significa aux ?

    
por Howard 28.12.2013 / 05:09

3 respostas

174

a = mostra processos para todos os usuários
u = exibe o usuário / proprietário do processo x = também mostra processos não anexados a um terminal

A propósito, man ps é um bom recurso.

Historicamente, o BSD e o AT & T desenvolveram versões incompatíveis de ps . As opções sem um traço principal (de acordo com a pergunta) são do estilo BSD, enquanto aquelas com um traço principal são o estilo AT & T Unix. Além disso, o Linux desenvolveu uma versão que suporta ambos os estilos e adiciona um terceiro estilo a opções que começam com traços duplos.

Todas (ou quase todas) as distribuições Linux não incorporadas usam uma variante do pacote procps . As opções acima são as definidas na página procps ps man .

Nos comentários, você diz que está usando o Apple MacOS (OSX, eu presumo). A página de manual do OSX para ps é aqui e mostra suporte apenas para o estilo AT & T.

    
por 28.12.2013 / 05:19
13
   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.

   u      Display user-oriented format.

   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.

Exemplo

$ ps aux | head -10
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  51120  2796 ?        Ss   Dec22   0:09 /usr/lib/systemd/systemd --system --deserialize 22
root         2  0.0  0.0      0     0 ?        S    Dec22   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Dec22   0:04 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Dec22   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    Dec22   0:15 [migration/0]
root         8  0.0  0.0      0     0 ?        S    Dec22   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    Dec22   2:47 [rcu_sched]
...
saml      3015  0.0  0.0 117756   596 pts/2    Ss   Dec22   0:00 bash
saml      3093  0.9  4.1 1539436 330796 ?      Sl   Dec22  70:16 /usr/lib64/thunderbird/thunderbird
saml      3873  0.0  0.1 1482432 8628 ?        Sl   Dec22   0:02 gvim -f
root      5675  0.0  0.0 124096   412 ?        Ss   Dec22   0:02 /usr/sbin/crond -n
root      5777  0.0  0.0  51132  1068 ?        Ss   Dec22   0:08 /usr/sbin/wpa_supplicant -u -f /var/log/wpa_supplica
saml      5987  0.7  1.5 1237740 119876 ?      Sl   Dec26  14:05 /opt/google/chrome/chrome --type=renderer --lang=en-
root      6115  0.0  0.0      0     0 ?        S    Dec27   0:06 [kworker/0:2]
...

Com os switches acima, você obterá resultados sobre seus processos, como acima.

As opções aux mostrarão:

  • todos os processos dos usuários
  • mostra o processo listado de maneira orientada pelo usuário (por nomes de usuário)
  • mostra todos os processos, não apenas aqueles anexados a um terminal. Isso incluirá processos como serviços como o crond, upowerd, etc.
por 28.12.2013 / 07:51
6

A chave para entender o manpage não é procurar por" aux "(que eu tentei primeiro), mas focar na seção que descreve os tipos de parâmetro ps takes:

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.

A partir disso, sabemos que aux é um conjunto de opções BSD (agrupadas), a , u e x , o que as torna um pouco mais fáceis de pesquisar.

  • a e x controlam quais processos são selecionados e usados juntos são explicitamente descritos para selecionar todos os processos.

  • u produz usando o formato "orientado ao usuário", que fornece mais colunas, incluindo o ID do usuário e o uso da CPU / memória.

por 09.12.2016 / 16:09

Tags