Я создал службу nohup, используя следующую команду в putty.Проверить, работает ли служба nohup или нет, используя сценарий оболочки?
nohup php /var/www/html/XYZ/sample.php &
Эта команда выполняет файл sample.php в фоновом режиме.
Теперь мне нужен сценарий оболочки, который проверяет, работает ли эта служба или нет. В случае, если служба не работает, я хочу, чтобы этот сценарий оболочки создавал службу самостоятельно. Ниже приведен код, который я пробовал.
#!/bin/bash
email_to="[email protected]";
export DISPLAY=:0.0
PIDS=`ps -aux | grep sample.php|awk '{print $2}'`
if [ -z "$PIDS" ]; then
echo "$(date) - The service is not running. Sending email to :$email_to" >> /var/www/html/XYZ/sample.php;
echo "SERVICE is not running - $(date)" | mail -s "service is not running - $(date)" $email_to
echo "" >> /var/www/html/XYZ/sample.php;
exit 1
else
echo "$(date) - Service already running. Sending email to : $email_to" >> /var/www/html/XYZ/sample.php;
echo "SERVICE is running - $(date)" | mail -s "SERVICE is running - $(date)" $email_to
fi
, когда я исполняю файл я получаю почта как сервис работает, и как только я убить sample.php и когда я получаю запустить этот файл я получаю ту же почту «как сервис работает», но его неправильно , так может ли кто-нибудь направить меня туда, где я ошибся?
Вы должны использовать правильный ["скрипт инициализации"] (http://www.tldp.org/HOWTO/HighQuality-Apps-HOWTO/boot.html). –
else используйте shell debug/trace 'set -vx' (' set + vx', чтобы отключить), чтобы увидеть, какие значения используются для '$ PIDS' при выполнении кода. Удачи. – shellter