a =zobrazit procesy pro všechny uživatele
u =zobrazení uživatele/vlastníka procesu
x =také zobrazit procesy nepřipojené k terminálu
Mimochodem, man ps
je dobrý zdroj.
Historicky BSD a AT&T vyvinuly nekompatibilní verze ps
. Možnosti bez úvodní pomlčky (podle otázky) jsou ve stylu BSD, zatímco možnosti s úvodní pomlčkou jsou ve stylu AT&T Unix. Kromě toho Linux vyvinul verzi, která podporuje oba styly, a poté k ní přidal třetí styl s možnostmi začínajícími dvojitými pomlčkami.
Všechny (nebo téměř všechny) neembedded linuxové distribuce používají variantu sady procps. Výše uvedené možnosti jsou definovány v procps ps
manuálová stránka.
V komentářích uvádíte, že používáte Apple MacOS (předpokládám OSX). Manuálová stránka OSX pro ps
je zde a zobrazuje podporu pouze pro styl AT&T.
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 získáte výstup týkající se vašich procesů, jako je uvedeno výše.
Přepínače aux
vám ukáže:
- všechny procesy uživatelů
- ukázat vám proces uvedený způsobem orientovaným na uživatele (podle uživatelských jmen)
- zobrazí vám všechny procesy, nejen ty, které jsou připojeny k terminálu. To bude zahrnovat procesy, jako jsou služby jako crond, upowerd atd.
Klíčem k pochopení manuálové stránky není hledat "aux" (což jsem zkusil jako první), ale zaměřit se na sekci popisující druhy parametru 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í se používat s pomlčkou.
- Volby GNU long, kterým předcházejí dvě pomlčky.
Z toho víme, že aux
je sada (seskupených) možností BSD, a
, u
a x
, což usnadňuje jejich vyhledávání.
-
a
ax
řídit, které procesy jsou vybrány a používány společně, jsou explicitně popsány pro výběr všech procesů. -
u
výstupy pomocí formátu "user-oriented" (uživatelsky orientovaný), který poskytuje více sloupců, včetně ID uživatele a využití CPU/paměti.
Protože u
sám ovládá výstupní formát, můžete získat výstup ve stylu "ps aux" pouze pro konkrétní procesy pomocí ps u $pid1 $pid2 ...
.