我正在寻找一种方法来显示某个进程的当前状态的时间。
目前,我正在使用以下命令:
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
遗憾的是,我们无法知道这个过程持续了多长时间。当前的状态(或者进程状态最后改变的时间)——内核不保留这种历史记录。
想象一下,为了保存每个上下文切换的时间戳(每秒几百到几千),需要大量的开销(处理器时间和内存方面)。