Linux:ps命令的输出与预期的随机不同,你能find原因吗?

我写了一个Nagios检查,它logging了有多less个pgpool进程在运行,每个进程运行了多长时间。 我在Linux CentOS 6.4上运行

为了获得进程运行的时间,我正在使用下一个命令:

ps -p PID -o etime= 

例:

 [root@pgpool ~]# ps -p 28737 -o etime= 08:35:48 [root@pgpool ~]# 

这是正常的输出,但有时我得到以下输出,它会中断脚本: 7-17:15:52例如:

 [root@pgpool ~]# for prc in $(ps -ef | grep pgpool | grep -v wait | grep -v PCP | awk '{print $2}'); do ps -p $prc -o etime= ; done 40:55 22:08:43 23:55 15:12:36 20:35 7-17:15:52 09:34:35 29-00:56:18 [root@pgpool ~]# 

所以我的问题是:

  • 这是什么意思? 该过程运行7到17个小时?
  • 输出布局如何在某些时候有所不同?

man ps ,部分时间:

etime ELAPSED过程开始后的经过时间,格式为[[dd-] hh:] mm:ss。

所以你的过程运行时间超过一天。