按开始时间对进程进行排序

按开始时间对进程进行排序

有没有办法查看进程启动的时间? tophtop可以选择按进程运行的时间进行排序,但我想按进程开始的时间进行排序(最近的在顶部)。

答案1

你可以使用这样的东西

while sleep 1;do ps -eo start_time,pid,euser,args:100 --sort start_time;done

这将按启动时间顺序列出所有正在运行的进程,尽管它会在底部是最新的。循环每秒更新一次,如果您需要更精细的时间段,请根据需要更改睡眠。

如果你想在顶部看到最新的,你可以通过管道输入 tac

while sleep 1;do ps -eo start_time,pid,euser,args:100 --sort start_time | tac ;done

这将颠倒顺序。

从上面的评论来看,虽然我不认为按开始时间顺序列出是您真正想要的。如果您事先知道进程的名称,那么您可以使用

while sleep 0.1;do ps -eo start_time,pid,euser,args:100 | grep YOURCOMMAND;done

仅检查单个命令的启动时间,如果未运行则不输出任何内容。

答案2

我正在使用 htop 2.2.0。请尝试:

htop --delay=3 --sort-key=STARTTIME

相关内容