如何按进程启动时间对 ps 输出进​​行排序?

如何按进程启动时间对 ps 输出进​​行排序?

有没有办法按进程启动时间对 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]*; )

输出纪元中的日期/时间,最新的进程位于顶部。

相关内容