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
lstartgibt einen vollständigen Zeitstempel, kann aber nicht als Sortierschlüssel verwendet werden. start_timegibt 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:40erscheint vorher 16/12 15:39, genauso wie 13:39zuvor 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
--sortvon psfunktioniert 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
-k7für die Zeitspalte und -nfür numerisch.