Was ist das moderne Äquivalent von "ps aux" unter macOS Sierra?

21

Das BSD-Backend von MacOS ist pseingebaut. Das BSD General Commands Manual sagt das aus

Die größte Änderung betrifft die Interpretation der Option -u, mit der jetzt Prozesse angezeigt werden, die zu den angegebenen Benutzernamen gehören. Daher schlägt "ps -aux" fehl (es sei denn, Sie möchten Informationen zum Benutzer "x" erhalten). Aus praktischen Gründen funktioniert "ps aux" jedoch immer noch so wie in Tiger.

Ich frage mich, was der aktuelle Standard für diese - wage ich zu schreiben - veraltete Befehls + Parameter-Sequenz ist.

Jonathan Komar
quelle
Was ist los mit ps auxohne Minus?
Mateusz Szlosek
@MateuszSzlosek Nichts außer, dass es veraltet ist. Lesen Sie das Zitat sorgfältig durch. Ich gehe davon aus, dass der Grund für seinen Rücktritt darin besteht, dass er nicht dem Standardparameterschema folgt, bei -pdem p ein Parameterzeichen ist. (oder --parameterwo p geschrieben steht)
Jonathan Komar
4
ps aux ist die BSD-Syntax. Portable Syntax wäre ps -ef.
fd0
3
@ fd0 Dein Kommentar sollte wohl eine Antwort sein.
Jonathan Komar

Antworten:

13

Um ps auxin der AT & T-Version von ps zu replizieren (BSD-Stil), müssen Sie verwenden

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

Dieser Befehl ist mit Skripten kompatibel, die die gleiche Ausgabe erwarten wie ps aux.

Der einzige Unterschied ist die Sortierreihenfolge; ps auxsortiert alle Prozesse nach ihrer Startzeit, während ps -Aosie nach PID sortiert werden .


ps -jef ist ein kürzerer Befehl, der jedoch unterschiedliche Header ausgibt:

  • BENUTZER
  • PID
  • PPID
  • PGID
  • SESS
  • JOBC
  • STAT
  • TT
  • ZEIT
  • BEFEHL
  • UID
  • C
  • STIME
  • TTY
oa
quelle
1
Vielen Dank. "Der einzige Unterschied ist die Sortierreihenfolge: ps aux sortiert alle Prozesse nach ihrer Startzeit, während ps -Ao sie nach PID sortiert." Kann ps --sort bsdstart -Aoin Startzeit sortieren?
StackExchange for All