Frage Wie sortiere ich die ps-Ausgabe nach der Startzeit des Prozesses?


Gibt es eine Möglichkeit, ps-Ausgabe nach Prozessanfangszeit zu sortieren, so dass die neuesten entweder oben oder unten sind?

Unter Linux?

Auf SysV5?

Auf Mac?


52
2018-06-18 09:16


Ursprung




Antworten:


Dies sollte unter Linux und SysV5 funktionieren

ps -ef --sort=start_time

73
2018-06-18 09:28



Dies funktioniert genau wie gewünscht, danke. Nach mehr graben bin ich mir nicht sicher, ob dies auf Mac OS ohne ein bisschen awk möglich ist - Dean Smith
start_time hat funktioniert. lstart nicht. RHEL - Felipe Alvarez
ps aux --sort=start_time Befehl funktioniert gut - Suresh Mahawar
Wie kann ich die Bestellung stornieren? - Phu Nguyen
@PhuNguyen bis spät in die Party, aber vielleicht hat jemand anderes einen Nutzen dafür. Sie können die Reihenfolge umkehren, indem Sie den Ausgang durchleiten tac. - Paul


Linux:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

11
2018-06-18 09:21



Ich fürchte, keine dieser Sorten bis zur Startzeit. Es zeigt die Startzeit an, sortiert aber nicht. - Dean Smith
Der Unterschied zwischen lstart und start_time hat mich auch erwischt - lstart gibt einen vollständigen Zeitstempel, kann aber nicht als Sortierschlüssel verwendet werden. start_time gibt die übliche 'Zeit innerhalb der letzten 24 Stunden, Datum sonst' Spalte und kann als Sortierschlüssel verwendet werden. Beide geben "STARTED" in der Kopfzeile. - 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 sort verwendet werden, es sei denn, ein bisschen "awk" ändert das - Olivier Dulac
@OlivierDulac: nicht für mich. 15/12 15:40 erscheint vorher 16/12 15:39, genauso wie 13:39 erscheint vorher 15:38. - Gauthier
lstart hat nicht für mich gearbeitet. start_time hat es getan. - Felipe Alvarez


Zusammen mit den tollen Antworten oben, manchmal möchte ich nur die Top 20 Täter nach Prozess sortiert nach Zeit, CPU% und Speicherauslastung sortiert sehen.

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 auf Fedora genossen habe.

Oh, und für grins, ich möchte manchmal eine Reihe von Prozessen entfernen, also verwende ich einfach eine Variante auf die oben genannten, 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

4
2018-04-28 17:16



--sort von ps funktioniert nicht für mich. Auf Shell vertrauen sort. +1 - kellogs


Ich kann noch nicht kommentieren, aber um die Frage zu beantworten, wie man die Reihenfolge einer Zeitart umkehrt, setze einfach ein Minuszeichen (-) vor dem Feld.
Beispiel: ps -elf --sort=-start_time


3
2017-11-29 17:10





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 ganz oben.


2
2017-07-03 02:23





Probieren Sie einen einfachen Befehl aus:

ps | sort -k7 -n

-k7 für die Zeitspalte und -n für numerisch.

Beispiel


0
2018-03-13 17:11