Gibt es eine Möglichkeit, die ps-Ausgabe nach Prozessstartzeit zu sortieren, sodass die neuesten entweder oben oder unten angezeigt werden?
Unter Linux?
Auf SysV5?
Auf dem Mac?
Gibt es eine Möglichkeit, die ps-Ausgabe nach Prozessstartzeit zu sortieren, sodass die neuesten entweder oben oder unten angezeigt werden?
Unter Linux?
Auf SysV5?
Auf dem Mac?
Antworten:
Dies sollte unter Linux und SysV5 funktionieren
ps -ef --sort=start_time
tac
.
watch "ps -ef --sort=start_time | grep -v kworker | tail"
Linux:
$ ps aux --sort=lstart
OSX:
$ ps aux -O started
lstart
gibt einen vollständigen Zeitstempel, kann aber nicht als Sortierschlüssel verwendet werden. start_time
gibt die übliche Spalte "Zeit innerhalb der letzten 24 Stunden, Datum ansonsten" an und kann als Sortierschlüssel verwendet werden. Beide geben 'STARTED' in der Kopfzeile an.
15/12 15:40
erscheint vorher 16/12 15:39
, genauso wie 13:39
zuvor 15:38
.
Zusammen mit den großartigen Antworten oben möchte ich manchmal nur die Top-20-Täter nach Prozess in absteigender Reihenfolge nach Zeit, CPU-Auslastung und Speichernutzung anzeigen.
Dafür benutze ich:
ps auxww --sort=lstart | sort -r -k3,4 | head -20
Dies wäre auf einer CentOS-Plattform, obwohl ich die gleichen Ergebnisse auch auf Fedora genossen habe.
Oh und zum Grinsen möchte ich manchmal eine Reihe von Prozessen entfernen, also verwende ich einfach eine Variante auf der obigen, die ein bisschen grep -v-Aktion enthält, wie zum Beispiel:
ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20
--sort
von ps
funktioniert bei mir nicht. Auf Muschel bauen sort
. +1
Oder versuchen Sie 'ls', da es Zeitformate ermöglicht, die einfach zu sortieren und einfacher zu verwenden sind.
( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )
Gibt das Datum / die Uhrzeit in der Epoche aus, die neuesten Procs oben.
Versuchen Sie es mit einem einfachen Befehl:
ps | sort -k7 -n
-k7
für die Zeitspalte und -n
für numerisch.