Я пытаюсь запустить фоновый процесс PHP, который является потребителем сообщений Rabbit MQ. Я могу просто запустить скрипт как «php receive.php &», но мне нужно убедиться, что этот скрипт всегда работает.
Я собрал скрипт bash, который пытается найти PID процесса. Если он не находит PID, он запускает резервное копирование скрипта. Если он действительно находит процесс, он просто повторяет PID.
Я пытаюсь запускать Bash Script на Cron каждый час, чтобы убедиться, что фоновый процесс запущен. Но я не активирую. Если я запускаю Shell/Bash Script напрямую. Работает отлично.
Bash Script
p=$(pidof -s php receive.php)
if [[ -z "${p// }" ]]
then php /var/www/html/example.com/public_html/receive.php &
else echo 'Receive Already Running';
fi
Crontab -e линия
# m h dom mon dow command
0 * * * * /var/www/html/example.com/public_html/analytics.sh
Что я могу сделать по-другому, чтобы убедиться, что этот фоновый процесс всегда запущен, а если нет, перезапустить сам?