ps aux
pohodlně uvádí všechny procesy a jejich stav a využití zdrojů (Linux / BSD / MacOS), nemohu však pochopit význam parametru aux
pomocí man ps
.
Co dělá aux
průměr?
Komentáře
- BTW ps = stav procesu
Odpověď
a = zobrazit procesy pro všechny uživatele
u = zobrazit uživatele / vlastníka procesu
x = také zobrazit procesy, které nejsou připojeny k terminálu
Mimochodem, man ps
je dobrý zdroj.
Historicky BSD a AT & T vyvinul nekompatibilní verze ps
. Možnosti bez úvodní pomlčky (podle otázky) jsou stylem BSD, zatímco ty s úvodní pomlčkou jsou AT & T Unixový styl. Kromě toho Linux vyvinul verzi, která podporuje oba styly a poté k němu přidá třetí styl s možnostmi, které začínají dvojitými pomlčkami.
Všechny (nebo téměř všechny) ne-vložené distribuce Linuxu používají variantu sada . Výše uvedené možnosti jsou definovány na procps ps
manuálové stránce .
V komentářích , říkáte, že používáte Apple MacOS (předpokládám OSX). Manuální stránka OSX pro ps
je zde a zobrazuje podporu pouze pro AT & Styl T.
Komentáře
- @HowardGuo Jste si jisti, že to není ' t
-u
na rozdíl od pouzeu
? - @HowardGuo Aktualizoval jsem odpověď, aby odrážela rozdíly mezi GNU (Linux) verze
ps
a verze Apple OSX. Tato otázka je aktuálně označena " Linux ". Pokud se ptáte také na MacOS, možná budete chtít značky aktualizovat. - Děkuji moc. Právě jsem zkontroloval manuální stránku ps v Linuxu a má informace týkající se
aux
, MacOS ' manuální stránka takové informace nemá, možná bug a document bug. - Manuální stránka OSX pro
ps
říká " …ps aux
stále funguje stejně jako v Tigeru " pod " Legacy Description " sekce. - Musím vznést námitku proti komentáři, že "
man ps
je dobrý zdroj pro Mac OSX. Stránka manuálu, pouze na samém konci, poznamenává, žeps aux
je udržována jako výhoda, ale neexistuje absolutně žádný náznak, že by mohly být zadány možnosti bez vedení pomlček před koncem, stránka je dlouhá a bohatě složitá a čtenář může strávit spoustu času dotazováním se na její zdravý rozum, než se vzdá a vyhledá tuto otázku týkající se výměny zásobníku.
Odpověď
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.
Příklad
$ 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] ...
S výše uvedenými přepínači vás “ Získám výstup týkající se vašich procesů, jak je uvedeno výše.
Přepínače aux
vám zobrazí:
- procesy všech uživatelů
- zobrazí vám proces uvedený uživatelsky orientovaným způsobem (podle uživatelských jmen)
- zobrazí všechny procesy, nejen ty, které jsou připojeny k terminálu. To bude zahrnovat procesy, jako jsou služby jako crond, upowerd atd.
Answer
Klíč k porozumění manpage není hledat výraz „aux“ (který jsem vyzkoušel jako první), ale zaměřit se na sekci, která popisuje druhy parametrů ps
trvá:
Tato verze ps přijímá několik druhů možností:
- Možnosti UNIX, které mohou být seskupeny a musí jim předcházet pomlčka.
- Možnosti BSD, které mohou být seskupeny a nesmí být použity s pomlčkou.
- Dlouhé možnosti GNU, kterým předchází dvě pomlčky.
Z toho víme, že aux
je sada (seskupená ) Možnosti BSD, a
, u
a x
, díky čemuž je jejich vzhled o něco snazší nahoru.
-
a
ax
ovládání l které procesy jsou vybrány a použity společně, jsou výslovně popsány pro výběr všech procesů. -
u
výstupy využívající „uživatelsky orientovaný“ „formát, který poskytuje více sloupců, včetně ID uživatele a využití CPU / paměti.
Protože u
sám řídí výstupní formát, můžete získat výstup stylu „ps aux“ pouze pro konkrétní procesy s ps u $pid1 $pid2 ...
.