ps -p 986 -o etime
可以获取进程986的执行时间,不论系统时间有没有发生改变,它都可以返回正确的结果:
-bash-4.2$ ps -p 986 -o etime
ELAPSED
13-00:25:12
以上显示986进程运行了13天25分钟12秒。
可见它累积的是真正的程序运行时间,而不是系统运行时间与进程启动之间之差(这种方式在时间同步等其他会引起系统时间变化的情况下并不准确)。
我查看了/proc/986/stat, /proc/986/status等系统文件,都没有发现对应的进程运行时间的数值,ps -p 986 -o etime
到底是如何实现的呢?
转载自:https://segmentfault.com/q/1010000014593304