Я написал скрипт bash, чтобы перезапустить Apache, когда он завис, и отправить электронное письмо администратору. Код показан ниже. код перезапустит Apache, если номер процесса Apache равен нулю. Проблема в том, что Apache некоторое время зависает, а процессы все еще не равны нулю, поэтому в этом случае скрипт не перезапустит Apache.
Необходимо: как я могу изменить код для перезапуска Apache, если он завис и процессы не равны нулю.
#!/bin/bash
if [ `pgrep apache2 -c` -le "0" ]; then
/etc/init.d/apache2 stop
pkill -u www-data
/etc/init.d/apache2 start
echo "restarting....."
SUBJECT="Apache auto restart"
# Email To ?
EMAIL="me@mydomain.com"
# Email text/message
EMAILMESSAGE="apache auto restart done"
# send an email using /bin/mail
/bin/mail -s "$SUBJECT" "$EMAIL" "$EMAILMESSAGE"
fi