Wie sortiere ich die ps-Ausgabe nach Prozessstartzeit?


Antworten:


87

Dies sollte unter Linux und SysV5 funktionieren

ps -ef --sort=start_time

Dies funktioniert genau wie gewünscht, danke. Nach weiteren Grabungen bin ich mir nicht sicher, ob dies unter Mac OS ohne ein bisschen awk möglich ist
Dean Smith

1
start_time hat funktioniert. lstart nicht. RHEL
Felipe Alvarez

1
Wie kann ich die Bestellung stornieren?
Phu Nguyen

2
@PhuNguyen etwas zu spät zur Party, aber vielleicht hat jemand anderes eine Verwendung dafür. Sie können die Reihenfolge umkehren, indem Sie die Ausgabe durchleiten tac.
Paul

1
@Stephane versuchen Sie Folgendes:watch "ps -ef --sort=start_time | grep -v kworker | tail"
Sekenre

11

Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

2
Ich fürchte, keine dieser Sorten ist zum Startzeitpunkt. Die Startzeit wird angezeigt, aber nicht sortiert.
Dean Smith

2
Der Unterschied zwischen lstart und start_time hat mich ebenfalls überrascht - 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.
LHMathies

Zeit innerhalb der letzten Stunde: Wenn ein Prozess gestern zu einem späteren Zeitpunkt als heute gestartet wurde, wird er nach dem heutigen Prozess angezeigt ... kann nicht sortiert verwendet werden, es sei denn, ein bisschen "awk" ändert dies.
Olivier Dulac

@OlivierDulac: nichts für mich. 15/12 15:40erscheint vorher 16/12 15:39, genauso wie 13:39zuvor 15:38.
Gauthier

1
lstart hat bei mir nicht funktioniert. start_time hat.
Felipe Alvarez

5

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
kellogs

3

Ich kann noch keinen Kommentar abgeben, aber um die Frage zu beantworten, wie die Reihenfolge einer Zeitsortierung umgekehrt werden kann, setzen Sie einfach ein Minuszeichen ( -) vor das Feld.
Beispiel:ps -elf --sort=-start_time


2

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.


Dies zeigt nur die Pids
Elig

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.