Мне нужно следить за зависающими процессами на выходе 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 или контролировать. Оба эти инструмента представляют собой утилиты с открытым исходным кодом, которые проверяют процессы и перезапускают их, если они не работают.
Надеюсь это поможет!