Quel est l'équivalent moderne de «ps aux» sur macOS Sierra?

21

Le backend BSD de MacOS est psintégré. Le manuel des commandes générales BSD dit que

Le plus grand changement concerne l'interprétation de l'option -u, qui affiche désormais les processus appartenant au (x) nom (s) d'utilisateur spécifié (s). Ainsi, "ps -aux" échouera (sauf si vous voulez connaître l'utilisateur "x"). Par commodité, cependant, "ps aux" fonctionne toujours comme dans Tiger.

Je me demande quelle est la norme actuelle pour cette - oserais-je écrire - obsolète commande + séquence de paramètres.

Jonathan Komar
la source
Qu'est-ce qui ne va pas ps auxsans moins?
Mateusz Szlosek
@MateuszSzlosek Rien sauf qu'il est obsolète. Lisez attentivement le devis. Je suppose que la raison de son retrait est qu'il ne suit pas le schéma de paramètres standard -poù p est un caractère de paramètre. (ou --parameteroù p est précisé)
Jonathan Komar
4
ps aux est la syntaxe BSD. La syntaxe portable serait ps -ef.
fd0
3
@ fd0 Votre commentaire devrait probablement être une réponse.
Jonathan Komar

Réponses:

13

Pour répliquer ps aux(style BSD) dans la version AT&T de ps, vous devez utiliser

ps -Ao user,pid,%cpu,%mem,vsz,rss,tt,stat,start,time,command

Cette commande est compatible avec les scripts qui attendent la même sortie que ps aux.

La seule différence est l'ordre de tri; ps auxtrie tous les processus par leur heure de début tandis que les ps -Aotrie par PID .


ps -jef est une commande plus courte, mais elle produira des en-têtes différents .:

  • UTILISATEUR
  • PID
  • PPID
  • PGID
  • SESS
  • JOBC
  • STAT
  • TT
  • TEMPS
  • COMMANDER
  • UID
  • C
  • STIME
  • ATS
oa-
la source
1
Merci. "La seule différence est l'ordre de tri; ps aux trie tous les processus par leur heure de début tandis que ps -Ao les trie par PID." Peut ps --sort bsdstart -Aotrier dans l'heure de début?
Tim