GNU/Linux >> Tutoriels Linux >  >> Linux

Que signifie aux dans `ps aux` ?

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 :

  1. Options UNIX, qui peuvent être regroupées et doivent être précédées d'un tiret.
  2. Options BSD, qui peuvent être regroupées et ne doivent pas être utilisées avec un tiret.
  3. 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 et x 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 ... .


Linux
  1. Que signifie « rm est haché » ?

  2. Que signifie "gentil" dans l'onglet Processus ?

  3. Que signifie rc dans les fichiers dot

  4. Que fait si [[ $ ? -ne 0 ]] ; signifie en .ksh

  5. Qu'est-ce que cela signifie par #define X X ?

Que signifie chmod 777

Qu'est-ce que cela signifie d'être "compatible sh" ?

Pas de variable DISPLAY X11 - qu'est-ce que cela signifie ?

Que signifie set -e dans un script bash ?

Que signifie \b dans un modèle grep ?

Que signifie la capacité ep ?