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
lstartfornisce un timestamp completo, ma non può essere usato come chiave di ordinamento. start_timefornisce 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:40appare prima 16/12 15:39, proprio come 13:39appare 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
--sortdi psnon 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.