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 diu
? - @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 cheps 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:
- Opzioni UNIX, che possono essere raggruppati e devono essere preceduti da un trattino.
- Opzioni BSD, che possono essere raggruppate e non devono essere utilizzate con un trattino.
- 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
ex
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 ...
.