Que signifie aux dans "ps aux"?

162

ps auxsemble liste commodément tous les processus et leur statut et l' utilisation des ressources (Linux / BSD / MacOS), mais je ne peux pas comprendre la signification du paramètre à l' auxaide man ps.

Qu'est-ce que ça auxveut dire?

Howard
la source

Réponses:

209

a = afficher les processus pour tous les utilisateurs
u = afficher l'utilisateur / propriétaire du processus
x = également afficher les processus non attachés à un terminal

Au fait, man psc'est une bonne ressource.

Historiquement, BSD et AT & T ont développé des versions incompatibles de ps. Les options sans tiret principal (selon la question) sont le style BSD, tandis que celles avec un tiret principal sont le style Unix d'AT & T. En plus de cela, Linux a développé une version qui prend en charge les deux styles et y ajoute un troisième style avec des options qui commencent par un double tiret.

Toutes les distributions Linux non intégrées (ou presque toutes) utilisent une variante de la suite procps . Les options ci-dessus sont telles que définies dans la page de manuel procpsps .

Dans les commentaires, vous dites que vous utilisez Apple MacOS (OSX, je présume). La page de manuel OSX pour psest ici et indique uniquement la prise en charge du style AT & T.

John1024
la source
1
@ HowardGuo Êtes-vous sûr que ce n'est pas -uopposé à juste u?
Jordanie
2
@ HowardGuo J'ai mis à jour la réponse afin de refléter les différences entre la version GNU (Linux) de pset la version Apple OSX. Cette question est actuellement étiquetée "Linux". Si vous posez également des questions sur MacOS, vous voudrez peut-être mettre à jour les balises.
John1024
1
Merci beaucoup. Je viens de vérifier la page de manuel de ps sous Linux et il contient des informations concernant aux, la page de manuel de MacOS ne contient pas de telles informations, il peut s'agir d'un bogue de document.
Howard
2
La page de manuel OSX pour ps" ps auxne fonctionne toujours pas comme dans Tiger" dans la section "Description de l'héritage".
dev
3
Je dois m'opposer au commentaire selon lequel " man psest une bonne ressource sur mac OSX. La page de manuel, à la toute fin, ps auxest conservée à des fins pratiques, mais il n'y a absolument aucune indication selon laquelle des options peuvent être spécifiées sans les tirets avant. Au final, la page de manuel est longue et richement complexe, et un lecteur peut passer beaucoup de temps à s'interroger sur sa santé mentale avant d'abandonner et de googler pour cette question de stackexchange.
Reb.Cabin
15
   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 des résultats concernant vos processus comme ci-dessus.

Les interrupteurs auxvont vous montrer:

  • 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 liés à un terminal. Cela inclura des processus tels que des services tels que crond, upowerd, etc.
slm
la source
6

La clé de la compréhension de la page de manuel ne consiste pas à rechercher "aux" (ce que j’ai essayé en premier), mais à se concentrer sur la section qui décrit les types de paramètres ps:

Cette version de ps accepte plusieurs types d’options:

  1. Les options UNIX, qui peuvent être groupées et doivent être précédées d'un tiret.
  2. Les options BSD, qui peuvent être groupées et ne doivent pas être utilisées avec un tiret.
  3. Les options longues GNU, précédées de deux tirets.

De là, nous savons que auxest un ensemble de (regroupés) options BSD, a, uet x, ce qui les rend un peu plus facile à regarder.

  • aet xcontrôler 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 de la CPU / mémoire.

Mwfearnley
la source
Un corollaire à cela est que si vous voulez la sortie de style "ps aux" pour un processus, vous pouvez l'obtenir en laissant de côté aet en xfaisant juste ps u $pid.
Mwfearnley