C'è un modo per ordinare l'output ps in base all'ora di inizio del processo, quindi i più recenti sono in alto o in basso?
Su Linux?
Su SysV5?
Su Mac?
C'è un modo per ordinare l'output ps in base all'ora di inizio del processo, quindi i più recenti sono in alto o in basso?
Su Linux?
Su SysV5?
Su Mac?
Risposte:
Questo dovrebbe funzionare su Linux e SysV5
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
fornisce un timestamp completo, ma non può essere usato come chiave di ordinamento. start_time
fornisce la consueta colonna "ora nelle ultime 24 ore, data altrimenti" e può essere utilizzata come chiave di ordinamento. Entrambi indicano "INIZIO" nell'intestazione.
15/12 15:40
appare prima 16/12 15:39
, proprio come 13:39
appare prima 15:38
.
Insieme alle grandi risposte di cui sopra, a volte voglio solo vedere i primi 20 trasgressori per processo ordinati in ordine decrescente di tempo, percentuale di CPU e utilizzo della memoria.
Per questo uso:
ps auxww --sort=lstart | sort -r -k3,4 | head -20
Questo sarebbe su una piattaforma CentOS, anche se mi sono goduto gli stessi risultati anche su Fedora.
Oh, e per i sorrisi, a volte voglio rimuovere un insieme di processi, quindi uso semplicemente una variante di cui sopra che include un po 'di azione grep -v, come:
ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20
--sort
di ps
non funziona per me. Basandosi sul guscio sort
. +1
Oppure prova 'ls', in quanto consente formati di ora che sono facili da ordinare e più facili da usare.
( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )
Emette la data / ora in epoca, i più recenti proc in alto.