查找当前状态下的进程时间

查找当前状态下的进程时间

我正在寻找一种方法来显示某个进程的当前状态的时间。
目前,我正在使用以下命令:

ps -A -o uname,pid,state,etime,cmd | grep -e pbs | egrep -v "grep"

它给我如下输出:

root      1613 S  4-00:16:59 /usr/sbin/pbs_server
root     13508 S  1-18:13:37 /usr/sbin/pbs_sched
root     15344 R    01:09:51 /usr/sbin/pbs_mom

这告诉我pbs_mom它正在运行大约一个小时。但是,我需要知道它处于这种运行状态多长时间。有没有办法只使用命令行来获取这个信息?(因为我打算在脚本中使用它)

答案1

遗憾的是,我们无法知道这个过程持续了多长时间。当前的状态(或者进程状态最后改变的时间)——内核不保留这种历史记录。

想象一下,为了保存每个上下文切换的时间戳(每秒几百到几千),需要大量的开销(处理器时间和内存方面)。

相关内容