如何确定一个进程的运行时间?
谷歌关于ps命令之后,我可以使用ps命令获取进程运行时间:
ps -eo pid,id,cmd,etime,time
我在google看到的大多数文章都使用etime(经过时间)来确定stream程运行时间。
但我也发现了一个类似的问题,在stackoverflow.com 获取Linux中的用户进程的执行时间,他/她使用时间参数?
所以我的问题是,ps命令中的etime和time参数有什么区别,哪个参数能够得到实际的进程运行时间。
时间测量“挂钟时间”,现在和过程开始的时刻之间的区别。
time
( cputime
别名)衡量CPU忙于执行进程代码的时间。 当进程正在等待网络或磁盘或只是睡觉,这个计数器不会增加。 当进程使用多个线程并行执行某些代码时,该计数器会与正在讨论的进程占用的CPU数成比例地增加。 time
通常远小于etime
,除非这个过程做了大量的计算。
$ man ps etime ELAPSED elapsed time since the process was started, in the form [[DD-]hh:]mm:ss. time TIME cumulative CPU time, "[DD-]HH:MM:SS" format. (alias cputime).
使用linux命令时间。 它记录了三种进程运行时间。 真实的:墙上的时间。 用户:用户空间时间。 sys:内核空间时间。
找到这个链接: Linux时间命令输出中real,user和sys的含义