ps aux
semble répertorier tous les processus, leur état et leur utilisation des ressources (Linux/BSD/MacOS), mais je ne peux pas comprendre la signification du paramètre aux
en utilisant man ps
.
Que signifie aux
?
a = afficher les processus pour tous les utilisateurs
u = afficher l'utilisateur/propriétaire du processus
x = affiche également les processus non attachés à un terminal
Au fait, man ps
est une bonne ressource.
Historiquement, BSD et AT&T ont développé des versions incompatibles de ps
. Les options sans tiret (selon la question) sont le style BSD tandis que celles avec un tiret sont le style AT&T Unix. En plus de cela, Linux a développé une version qui prend en charge les deux styles et y ajoute ensuite un troisième style avec des options qui commencent par des doubles tirets.
Toutes (ou presque toutes) les distributions Linux non intégrées utilisent une variante de la suite procps . Les options ci-dessus sont définies dans la page de manuel procps ps
.
Dans les commentaires, vous dites que vous utilisez Apple MacOS (OSX, je présume). La page de manuel OSX pour ps
est ici et elle montre prise en charge uniquement pour le style 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.
$ 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]
...
Avec les commutateurs ci-dessus, vous obtiendrez une sortie concernant vos processus comme ci-dessus.
Les commutateurs aux
vous montreront:
La clé pour comprendre le manpage n'est pas de rechercher "aux" (que j'ai essayé en premier), mais de se concentrer sur la section qui décrit les types de paramètres ps
prend:
Cette version de ps accepte plusieurs types d'options:
- Options UNIX, qui peuvent être regroupées et doivent être précédées d'un tiret.
- Options BSD, qui peuvent être regroupées et ne doivent pas être utilisées avec un tiret.
- Options longues GNU, précédées de deux tirets.
De cela, nous savons que aux
est un ensemble d'options BSD (groupées), a
, u
et x
, ce qui les rend légèrement plus faciles à regarder vers le haut.
a
et x
contrôlent quels processus sont sélectionnés et utilisés ensemble sont explicitement décrits pour sélectionner tous les processus.
u
sorties utilisant le format "orienté utilisateur", qui donne plus de colonnes, y compris l'ID utilisateur et l'utilisation CPU/mémoire.
Étant donné que u
contrôle seul le format de sortie, vous pouvez obtenir une sortie de style "ps aux" uniquement pour des processus spécifiques avec ps u $pid1 $pid2 ...
.