ps aux
ser ut til å liste opp alle prosesser og deres status og ressursbruk (Linux / BSD / MacOS), men jeg kan ikke forstå betydningen av parameter aux
ved hjelp av man ps
.
Hva gjør aux
betyr?
Kommentarer
- BTW ps = prosessstatus
Svar
a = vis prosesser for alle brukere
u = vis prosessens bruker / eier
x = viser også prosesser som ikke er tilknyttet en terminal
Forresten, man ps
er en god ressurs.
Historisk sett er BSD og AT & T utviklet inkompatible versjoner av ps
. Alternativene uten en ledende strek (som i spørsmålet) er BSD-stil mens de med en ledende strek er AT & T Unix-stil. På toppen av dette utviklet Linux en versjon som støtter begge stilene og legger deretter til en tredje stil med alternativer som begynner med doble bindestreker.
Alle (eller nesten alle) ikke-innebygde Linux-distribusjoner bruker en variant av rekvisitter suite. Ovennevnte alternativer er som definert i procps ps
man-siden .
I kommentarene , sier du at du bruker Apple MacOS (OSX, antar jeg). OSX-mansiden for ps
er her , og den viser bare støtte for AT & T-stil.
Kommentarer
- @HowardGuo Er du sikker på at det ikke er ' t
-u
i motsetning til bareu
? - @HowardGuo Jeg har oppdatert svaret for å gjenspeile forskjellene mellom GNU (Linux) versjon av
ps
og Apple OSX-versjonen. Dette spørsmålet er for øyeblikket merket " Linux ". Hvis du også spør om MacOS, vil du kanskje oppdatere kodene. - Tusen takk. Jeg har nettopp sjekket manuell side av ps i Linux og den har informasjon angående
aux
, MacOS ' manuell side har ikke slik informasjon, det kan hende være en dokumentfeil. - OSX-manside for
ps
sier " …ps aux
fungerer fortsatt som det gjorde i Tiger " under " Legacy Description " seksjon. - Jeg må motsette meg kommentaren om at "
man ps
er en god ressurs på mac OSX. Mannssiden, bare helt på slutten, bemerker atps aux
opprettholdes som en bekvemmelighet, men det er absolutt ingen antydninger om at alternativer kan spesifiseres uten ledende bindestreker før slutten, mannen siden er lang og veldig kompleks, og en leser kan bruke mye tid på å stille spørsmål ved sunnheten før han gir opp og googler for dette stackexchange-spørsmålet.
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 bryterne ovenfor kan du » Du får utdata angående prosessene dine som ovenfor.
Bryterne aux
viser deg:
- alle brukernes «prosesser
- viser deg prosessen som er oppført på en brukerorientert måte (etter brukernavn)
- viser deg alle prosesser, ikke bare de som er koblet til en terminal. Dette vil inkludere prosesser som tjenester som crond, upowerd osv.
Svar
Nøkkelen til å forstå manpage er ikke å søke etter «aux» (som jeg prøvde først), men å fokusere på delen som beskriver typene parameter ps
tar:
Denne versjonen av ps godtar flere typer alternativer:
- UNIX-alternativer, som kan være gruppert og må gå foran en bindestrek.
- BSD-alternativer, som kan være gruppert og ikke må brukes med en bindestrek.
- GNU lange opsjoner, som er innledet av to bindestreker.
Fra dette vet vi at aux
er et sett med (gruppert ) BSD-alternativer, a
, u
og x
, noe som gjør dem litt lettere å se opp.
-
a
ogx
kontro l hvilke prosesser som er valgt, og brukt sammen er eksplisitt beskrevet for å velge alle prosesser. -
u
utganger ved hjelp av «brukerorientert «format, som gir flere kolonner, inkludert bruker-ID og CPU / minnebruk.
Fordi u
alene styrer utdataformatet, kan du få «ps aux» stiloutput bare for spesifikke prosesser med ps u $pid1 $pid2 ...
.