ps aux
synes nemt at liste alle processer og deres status og ressourceforbrug (Linux / BSD / MacOS), dog kan jeg ikke forstå betydningen af parameter aux
ved hjælp af man ps
.
Hvad betyder aux
betyder?
Kommentarer
- BTW ps = processtatus
Svar
a = vis processer for alle brugere
u = vis procesens bruger / ejer
x = viser også processer, der ikke er knyttet til en terminal
Forresten er man ps
en god ressource.
Historisk set er BSD og AT & T udviklede inkompatible versioner af ps
. Valgmulighederne uden et førende bindestreg (som i spørgsmålet) er BSD-stil, mens de med en førende bindestreg er AT & T Unix-stil. Desuden udviklede Linux en version, der understøtter begge stilarter og tilføjer derefter en tredje stil med indstillinger, der begynder med dobbelt streger.
Alle (eller næsten alle) ikke-integrerede Linux-distributioner bruger en variant af procps suite. Ovenstående muligheder er som defineret i procps ps
man-siden .
I kommentarerne , siger du, at du bruger Apple MacOS (OSX, formoder jeg). OSX-mandsiden til ps
er her , og den viser kun support til AT & T-stil.
Kommentarer
- @HowardGuo Er du sikker på, at det ikke er ' t
-u
i modsætning til bareu
? - @HowardGuo Jeg har opdateret svaret for at afspejle forskellene mellem GNU (Linux) version af
ps
og Apple OSX-versionen. Dette spørgsmål er i øjeblikket mærket " Linux ". Hvis du også spørger om MacOS, vil du måske opdatere tags. - Mange tak. Jeg har lige tjekket manuel side af ps i Linux, og den har oplysninger om
aux
, MacOS ' manuel side har ikke sådan information, det kan være være en dokumentfejl. - OSX-mandeside til
ps
siger " …ps aux
fungerer stadig som det gjorde i Tiger " under " Legacy Description " sektion. - Jeg er nødt til at gøre indsigelse mod kommentaren om, at "
man ps
er en god ressource på mac OSX. Mandsiden bemærker først i slutningen, atps aux
opretholdes som en bekvemmelighed, men der er absolut ingen antydning om, at muligheder kan specificeres uden førende bindestreger inden slutningen, manden siden er lang og rigtig kompleks, og en læser kan bruge meget tid på at stille spørgsmålstegn ved hans / hendes fornuft, inden han giver op og googler til dette stackexchange-spørgsmål.
Svar
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.
Eksempel
$ 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] ...
Med ovenstående skifter du ” Jeg får output angående dine processer som ovenfor.
Omskifterne aux
viser dig:
- alle brugernes “processer
- viser dig den proces, der er angivet på en brugerorienteret måde (efter brugernavne)
- viser dig alle processer, ikke kun dem, der er knyttet til en terminal. Dette vil omfatte processer såsom tjenester som crond, upowerd osv.
Svar
Nøglen til forståelse af manpage er ikke at søge efter “aux” (som jeg prøvede først), men at fokusere på det afsnit, der beskriver slags parametre ps
tager:
Denne version af ps accepterer flere slags muligheder:
- UNIX-indstillinger, som kan være grupperet og skal være forud for et bindestreg.
- BSD-indstillinger, som kan være grupperet og ikke må bruges med en bindestreg.
- GNU lange indstillinger, som er forud for to bindestreger.
Fra dette ved vi, at aux
er et sæt af (grupperet ) BSD-indstillinger, a
, u
og x
, hvilket gør dem lidt lettere at se ud op.
-
a
ogx
contro l hvilke processer der er valgt og brugt sammen er eksplicit beskrevet for at vælge alle processer. -
u
output ved hjælp af de “brugerorienterede “format, som giver flere kolonner, inklusive bruger-id og CPU / hukommelsesforbrug.
Fordi u
alene styrer outputformatet, kan du få “ps aux” stiloutput kun til specifikke processer med ps u $pid1 $pid2 ...
.