我写了一个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 ~]#
所以我的问题是:
man ps
,部分时间:
etime ELAPSED过程开始后的经过时间,格式为[[dd-] hh:] mm:ss。
所以你的过程运行时间超过一天。