Wat betekent aux in `ps aux`?

ps aux lijkt een overzichtelijke lijst van alle processen en hun status en resourcegebruik (Linux / BSD / MacOS) te geven, maar ik kan de betekenis van parameter aux niet begrijpen met man ps.

Wat doet aux betekenen?

Reacties

  • BTW ps = processtatus

Antwoord

a = toon processen voor alle gebruikers
u = toon de gebruiker / eigenaar van het proces
x = toon ook processen die niet aan een terminal zijn gekoppeld

Overigens is man ps een goede bron.

Historisch gezien waren BSD en AT & T heeft incompatibele versies van ps ontwikkeld. De opties zonder voorloopstreepje (zoals in de vraag) zijn de BSD-stijl, terwijl die met een voorloopstreepje AT T Unix-stijl Bovendien heeft Linux een versie ontwikkeld die beide stijlen ondersteunt en voegt er dan een derde stijl aan toe met opties die beginnen met dubbele streepjes.

Alle (of bijna alle) niet-embedded Linux-distributies gebruiken een variant van de procps suite. De bovenstaande opties zijn zoals gedefinieerd in de procps ps man-pagina .

In de commentaren , je zegt dat je Apple MacOS gebruikt (OSX, neem ik aan). De OSX-manpagina voor ps is hier en toont alleen ondersteuning voor AT & T-stijl.

Reacties

  • @HowardGuo Weet je zeker dat dit niet ' is -u in plaats van alleen u?
  • @HowardGuo Ik heb het antwoord bijgewerkt om de verschillen tussen de GNU (Linux) versie van ps en de Apple OSX-versie. Deze vraag is momenteel getagd met " Linux ". Als je ook naar MacOS vraagt, wil je misschien de tags bijwerken.
  • Heel erg bedankt. Ik heb zojuist de man-pagina van ps in Linux gecontroleerd en het bevat informatie over aux, MacOS ' man-pagina heeft dergelijke informatie niet, het kan een documentbug zijn.
  • OSX-manpagina voor ps zegt wel " … ps aux werkt nog steeds zoals in Tiger " onder " Oude beschrijving ".
  • Ik moet bezwaar maken tegen de opmerking dat " man ps een goede bron is op mac OSX. De man-pagina, alleen helemaal aan het einde, merkt op dat ps aux voor het gemak wordt onderhouden, maar er is absoluut geen aanwijzing dat opties kunnen worden gespecificeerd zonder koppeltekens voor het einde, de man pagina is lang en rijkelijk complex, en een lezer kan veel tijd besteden aan het in twijfel trekken van zijn / haar gezond verstand voordat hij het opgeeft en gaat googelen voor deze stackexchange-vraag.

Antwoord

 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. 

Voorbeeld

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

Met de bovenstaande schakelaars ” Ik krijg uitvoer over je processen zoals hierboven.

De schakelaars aux zullen je laten zien:

  • alle gebruikers “processen
  • laat je het proces zien op een gebruikersgerichte manier (op gebruikersnamen).
  • laat je alle processen zien, niet alleen de processen die aan een terminal zijn gekoppeld. Dit omvat processen zoals services zoals crond, upowerd, etc.

Answer

De sleutel tot het begrijpen van de manpage is niet om te zoeken naar “aux” (wat ik het eerst heb geprobeerd), maar om je te concentreren op de sectie die de soorten parameter takes:

Deze versie van ps accepteert verschillende soorten opties:

  1. UNIX-opties, die gegroepeerd mogen zijn en moeten worden voorafgegaan door een streepje.
  2. BSD-opties, die gegroepeerd mogen zijn en niet met een streepje mogen worden gebruikt.
  3. GNU lange opties, die worden voorafgegaan door twee streepjes.

Hieruit weten we dat aux een set is van (gegroepeerde ) BSD-opties, a, u en x, waardoor ze iets gemakkelijker te zien zijn omhoog.

  • a en x contro l welke processen zijn geselecteerd en samen worden gebruikt, worden expliciet beschreven om alle processen te selecteren.

  • u outputs met behulp van de “user-oriented “-formaat, wat meer kolommen oplevert, inclusief de gebruikers-ID en CPU / geheugengebruik.

Omdat u alleen het uitvoerformaat bestuurt, kunt u uitvoer in “ps aux” -stijl krijgen voor specifieke processen met ps u $pid1 $pid2 ....

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *