Que signifie aux dans «ps aux»?

ps aux semble répertorier de manière pratique tous les processus, leur état et leur utilisation des ressources (Linux / BSD / MacOS), cependant je ne peux pas comprendre la signification du paramètre aux en utilisant man ps.

Que signifie aux signifie?

Commentaires

  • BTW ps = état du processus

Réponse

a = afficher les processus pour tous les utilisateurs
u = afficher lutilisateur / propriétaire du processus
x = afficher également les processus non liés à un terminal

Au fait, man ps est une bonne ressource.

Historiquement, BSD et AT & T a développé des versions incompatibles de ps. Les options sans tiret au début (selon la question) sont le style BSD tandis que celles avec un tiret au début sont AT & T Style Unix. De plus, 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 toutes) les distributions Linux non embarquées utilisent une variante de 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 ne prend en charge que AT & Style T.

Commentaires

  • @HowardGuo Êtes-vous sûr que ce nest pas ' t -u par opposition à seulement u?
  • @HowardGuo Jai mis à jour la réponse pour refléter les différences entre GNU (Linux) version de ps et la version Apple OSX. Cette question est actuellement balisée " Linux ". Si vous posez également des questions sur MacOS, vous voudrez peut-être mettre à jour les balises.
  • Merci beaucoup. Je viens de vérifier la page de manuel de ps sous Linux et elle contient des informations concernant aux, la page de manuel MacOS ' ne contient pas de telles informations, elle pourrait être un bogue de document.
  • La page de manuel OSX pour ps dit " … ps aux fonctionne toujours comme dans Tiger " sous " Legacy Description ".
  • Je dois mopposer au commentaire selon lequel " man ps est une bonne ressource sur mac OSX. La page de manuel, seulement à la toute fin, note que ps aux est maintenu pour des raisons de commodité, mais il ny a absolument aucune indication que les options peuvent être spécifiées sans tirets avant la fin, lhomme La page est longue et richement complexe, et un lecteur peut passer beaucoup de temps à remettre en question sa santé mentale avant dabandonner et de googler pour cette question de stackexchange.

Réponse

 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  » Jobtiendrai une sortie concernant vos processus comme ci-dessus.

Les commutateurs aux vous montreront:

  • tous les processus des utilisateurs
  • vous montre le processus répertorié de manière orientée utilisateur (par nom dutilisateur)
  • vous montre tous les processus, pas seulement ceux attachés à un terminal. Cela inclura des processus tels que des services comme crond, upowerd, etc.

Answer

La clé pour comprendre le page de manuel nest pas de rechercher « aux » (que jai 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 doptions:

  1. Options UNIX, qui peuvent être groupées et doivent être précédées dun 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.

A partir de là, nous savons que aux est un ensemble de (groupé ) Options BSD, a, u et x, ce qui les rend légèrement plus faciles à regarder vers le haut.

  • a et x contro l 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 « orienté utilisateur « , qui donne plus de colonnes, y compris lID utilisateur et lutilisation du processeur / de la mémoire.

Comme 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 ....

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *