Czy istnieje sposób na sortowanie danych wyjściowych ps według czasu rozpoczęcia procesu, więc najnowsze są na górze lub na dole?
W systemie Linux?
Na SysV5?
Na Macu?
Czy istnieje sposób na sortowanie danych wyjściowych ps według czasu rozpoczęcia procesu, więc najnowsze są na górze lub na dole?
W systemie Linux?
Na SysV5?
Na Macu?
Odpowiedzi:
Powinno to działać w systemach Linux i 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
daje pełny znacznik czasu, ale nie może być użyty jako klucz sortowania. start_time
podaje zwykłą kolumnę „w ciągu ostatnich 24 godzin, w przeciwnym razie data” i może być używany jako klucz sortowania. Oba dają w nagłówku „STARTED”.
15/12 15:40
pojawia się wcześniej 16/12 15:39
, tak jak 13:39
wcześniej 15:38
.
Oprócz świetnych odpowiedzi powyżej, czasami chcę po prostu zobaczyć 20 najlepszych przestępców według procesu posortowanego malejąco według czasu, procesora i zużycia pamięci.
Do tego używam:
ps auxww --sort=lstart | sort -r -k3,4 | head -20
Byłoby to na platformie CentOS, chociaż podobają mi się te same wyniki na Fedorze.
Aha i dla uśmiechów, czasami chcę usunąć zestaw procesów, więc po prostu używam wariantu powyżej, który zawiera trochę akcji grep -v, takich jak:
ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20
--sort
z ps
nie działa dla mnie. Poleganie na muszli sort
. +1