Cosa significa aux in `ps aux`?


162

ps auxsembra elencare convenientemente tutti i processi e il loro stato e utilizzo delle risorse (Linux / BSD / MacOS), tuttavia non riesco a comprendere il significato di auxutilizzo dei parametri man ps.

Cosa auxsignifica?

Risposte:


209

a = mostra i processi per tutti gli utenti
u = mostra l'utente / proprietario del processo
x = mostra anche i processi non collegati a un terminale

A proposito, man psè una buona risorsa.

Storicamente, BSD e AT&T hanno sviluppato versioni incompatibili di ps. Le opzioni senza trattino iniziale (come da domanda) sono in stile BSD, mentre quelle con trattino iniziale sono in stile Unix AT&T. Inoltre, Linux ha sviluppato una versione che supporta entrambi gli stili e quindi aggiunge un terzo stile con opzioni che iniziano con doppi trattini.

Tutte (o quasi) le distribuzioni Linux non incorporate usano una variante della suite procps . Le opzioni di cui sopra sono definite nella pagina man procpsps .

Nei commenti, dici che stai usando Apple MacOS (OSX, presumo). La pagina man di OSX per psè qui e mostra il supporto solo per lo stile AT&T.


1
@HowardGuo Sei sicuro che non -usia solo contrario u?
jordanm,

2
@HowardGuo Ho aggiornato la risposta per riflettere le differenze tra la versione GNU (Linux) pse la versione Apple OSX. Questa domanda è attualmente taggata "Linux". Se stai chiedendo anche di MacOS, potresti voler aggiornare i tag.
Giovanni 1024,

1
Grazie mille. Ho appena controllato la pagina di manuale di ps in Linux e contiene informazioni riguardanti aux, la pagina di manuale di MacOS non ha tali informazioni, potrebbe essere un bug di documento.
Howard,

2
La pagina man di OSX per psdice "... ps auxfunziona ancora come in Tiger" nella sezione "Descrizione legacy".
dev

3
Devo obiettare al commento che " man psè una buona risorsa su mac OSX. La pagina man, solo alla fine, osserva che ps auxviene mantenuta per comodità, ma non c'è assolutamente alcun indizio che le opzioni possano essere specificate senza trattini iniziali prima Alla fine, la pagina man è lunga e riccamente complessa, e un lettore può passare molto tempo a mettere in discussione la propria sanità mentale prima di arrendersi e cercare su Google questa domanda di scambio di stack.
Reb.Cabin

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

Esempio

$ 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]
...

Con le opzioni sopra riportate otterrai un output relativo ai tuoi processi come sopra.

Gli interruttori auxti mostreranno:

  • tutti i processi degli utenti
  • mostra il processo elencato in modo orientato all'utente (per nome utente)
  • mostra tutti i processi, non solo quelli collegati a un terminale. Ciò includerà processi come servizi come crond, upowerd, ecc.

6

La chiave per comprendere la manpage non è cercare "aux" (cosa che ho provato prima), ma concentrarsi sulla sezione che descrive i tipi di parametri ps:

Questa versione di ps accetta diversi tipi di opzioni:

  1. Opzioni UNIX, che possono essere raggruppate e devono essere precedute da un trattino.
  2. Opzioni BSD, che possono essere raggruppate e non devono essere utilizzate con un trattino.
  3. Opzioni GNU lunghe, precedute da due trattini.

Da questo, sappiamo che auxè un insieme di opzioni (raggruppati) BSD, a, ue x, che li rende leggermente più facile per cercare.

  • ae xcontrollare quali processi sono selezionati e usati insieme sono esplicitamente descritti per selezionare tutti i processi.

  • u output utilizzando il formato "orientato all'utente", che fornisce più colonne, incluso l'id utente e l'utilizzo della CPU / memoria.


Un corollario di questo è che se si desidera che il "ps aux" Uscita di stile per un processo, allora si può ottenere lasciando fuori ae x, e solo facendo ps u $pid.
mwfearnley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.