有没有办法按进程启动时间对 ps 输出进行排序,以便最新的输出位于顶部或底部?
在 Linux 上?
在 SysV5 上?
在 Mac 上?
答案1
这应该适用于 Linux 和 SysV5
ps -ef --sort=start_time
答案2
Linux:
$ ps aux --sort=lstart
操作系统:
$ ps aux -O started
答案3
除了上述出色的答案之外,有时我只想按时间、CPU%和内存使用率降序排列前 20 名违规者。
为此我使用:
ps auxww --sort=lstart | sort -r -k3,4 | head -20
这将在 CentOS 平台上进行,尽管我在 Fedora 上也享受到了同样的结果。
哦,为了好玩,有时我想删除一组进程,因此我只需使用上面的变体,其中包含一些 grep -v 操作,例如:
ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20
答案4
或者尝试“ls”,因为它允许易于排序且更易于使用的时间格式。
( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )
输出纪元中的日期/时间,最新的进程位于顶部。