a =afficher les processus pour tous les utilisateurs
u =afficher l'utilisateur/propriétaire du processus
x =afficher é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 du style BSD tandis que celles avec un tiret sont du style AT&T Unix. En plus de cela, Linux a développé une version qui prend en charge les deux styles, puis y ajoute un troisième style avec des options commençant par des doubles tirets.
Toutes (ou presque) les distributions Linux non embarquées utilisent une variante de la suite procps. Les options ci-dessus sont telles que définies dans le procps ps
page de manuel.
Dans les commentaires, vous dites que vous utilisez Apple MacOS (OSX, je présume). La page de manuel OSX pour ps
est ici et il montre la 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.
Exemple
$ 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 interrupteurs aux
vous montrera :
- tous les processus des utilisateurs
- vous montrer le processus répertorié de manière orientée utilisateur (par noms d'utilisateur)
- vous montre tous les processus, pas seulement ceux attachés à un terminal. Cela inclura des processus tels que des services tels que crond, upowerd, etc.
La clé pour comprendre la page de manuel n'est pas de rechercher "aux" (ce 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, qui sont 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 facilite légèrement leur recherche.
-
a
etx
contrôler quels processus sont sélectionnés et utilisés ensemble sont explicitement décrits pour sélectionner tous les processus. -
u
sorties en utilisant le format "orienté utilisateur", qui donne plus de colonnes, y compris l'ID utilisateur et l'utilisation CPU/mémoire.
Parce que u
seul contrôle le format de sortie, vous pouvez obtenir une sortie de style "ps aux" uniquement pour des processus spécifiques avec ps u $pid1 $pid2 ...
.