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

Мониторинг зависающих процессов

Мне нужно следить за зависающими процессами на выходе ps -ef | grem GMC...

Как лучше всего сделать это, не выполняя эту команду вручную и не зависая перед командной строкой весь день? Я хотел бы, чтобы наша команда разработчиков получала электронное письмо, когда один из этих процессов зависает, чтобы мы могли исследовать или, что еще лучше, автоматическое уничтожение умирающих процессов.

SUSE Linux Enterprise Server 10 (x86_64)
VERSION = 10
PATCHLEVEL = 1
LSB_VERSION="core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64"
Novell Open Enterprise Server 2 (x86_64)
VERSION = 2
BUILD = FCS

Простой сценарий, подобный приведенному ниже, творит чудеса:

#!/bin/bash

PROCESS=`ps auxw | grep GMC | grep -v grep`

if [ -z $PROCESS ]; then
  echo "Process GMC not running" | mail -s "Alert" yourmail@address.com
fi

Затем запускайте это каждые 5 минут с вашего crontab.

Вы также можете проверить такие инструменты, как DAEMON Tools или контролировать. Оба эти инструмента представляют собой утилиты с открытым исходным кодом, которые проверяют процессы и перезапускают их, если они не работают.

Надеюсь это поможет!