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

 posted on 2019-09-06 14:47  xibuhaohao  阅读(1598)  评论(0)    收藏  举报