Назад | Перейти на главную страницу

Linux: вывод команды ps случайно отличается от ожидаемого, можете ли вы найти причину?

Я написал проверку Nagios, которая подсчитывает, сколько процессов 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:

etime ELAPSED - время, прошедшее с момента запуска процесса, в формате [[дд-] чч:] мм: сс.

Таким образом, ваш процесс длится дольше одного дня.