Cosa significa aux in “ps aux”?

ps aux sembra elencare comodamente tutti i processi, il loro stato e lutilizzo delle risorse (Linux / BSD / MacOS), tuttavia non riesco a comprendere il significato del parametro aux utilizzando man ps.

Che cosa fa aux significa?

Commenti

  • BTW ps = stato del processo

Risposta

a = mostra i processi per tutti gli utenti
u = mostra lutente / 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 ha sviluppato versioni incompatibili di ps. Le opzioni senza trattino iniziale (come da domanda) sono in stile BSD mentre quelle con trattino iniziale sono AT & T Stile Unix Oltre a questo, Linux ha sviluppato una versione che supporta entrambi gli stili e poi aggiunge un terzo stile con opzioni che iniziano con doppi trattini.

Tutte (o quasi tutte) le distribuzioni Linux non incorporate utilizzano una variante di suite procps . Le opzioni precedenti sono come definite nella pagina man procps ps .

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

Commenti

  • @HowardGuo Sei sicuro che non sia ' t -u invece di u?
  • @HowardGuo Ho aggiornato la risposta per riflettere le differenze tra GNU (Linux) versione di ps e versione Apple OSX. Questa domanda è attualmente contrassegnata come " Linux ". Se stai chiedendo anche di MacOS, potresti voler aggiornare i tag.
  • 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 contiene tali informazioni, potrebbe essere un bug del documento.
  • La pagina man di OSX per ps dice " … ps aux funziona ancora come in Tiger " in " Descrizione precedente ".
  • Devo oppormi al commento secondo cui " man ps è una buona risorsa su Mac OSX. La pagina man, solo alla fine, osserva che ps aux è mantenuto per comodità, ma non cè assolutamente alcun suggerimento che le opzioni possano essere specificate senza trattini iniziali prima della fine, luomo la pagina è lunga e riccamente complessa e un lettore può dedicare molto tempo a mettere in discussione la propria sanità mentale prima di arrendersi e cercare su Google questa domanda di scambio di stack.

Risposta

 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 precedenti si ” Otterrai loutput relativo ai tuoi processi come sopra.

Gli interruttori aux ti mostreranno:

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

Answer

La chiave per comprendere il manpage non deve cercare “aux” (che ho provato per primo), ma concentrarsi sulla sezione che descrive i tipi di parametro ps accetta:

Questa versione di ps accetta diversi tipi di opzioni:

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

Da questo, sappiamo che aux è un insieme di (raggruppati ) Opzioni BSD, a, u e x, che li rende leggermente più facili da guardare su.

  • a e x contro l quali processi sono selezionati e usati insieme sono descritti esplicitamente per selezionare tutti i processi.

  • u output utilizzando “user-oriented “, che fornisce più colonne, incluso lID utente e lutilizzo di CPU / memoria.

Poiché u controlla da solo il formato di output, puoi ottenere un output in stile “ps aux” solo per processi specifici con ps u $pid1 $pid2 ....

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *