Я создал PHP-файл, содержащий бесконечный цикл, который выполняет определенные проверки и действия, если переменные изменяются (то, что находится внутри скрипта, вероятно, не очень важно для моего вопроса). Я хочу, чтобы служба всегда работала, пока я не скажу ей остановиться. После некоторых поисков я решил использовать его nohup
для этой задачи. Однако недостатком nohup является то, что я не могу реально отслеживать, отключена ли служба (кроме ручного запуска ps -aux
и поиска процесса).
Я также читал о supervisord
, что тоже звучит довольно хорошо, но я немного запутался и не знаю, какое решение лучше. Я хочу, чтобы скрипт PHP автоматически запускался при перезагрузке, и я хочу, чтобы служба проверяла, выполняется ли скрипт, если нет, я хочу, чтобы он перезагрузился/выдал оповещение, чтобы я мог проверить, что происходит.
Мне следует использовать либо , nohup
либо supervisord
? Или вы, ребята, рекомендуете что-то совершенно другое? Было бы здорово, если бы я мог запустить службу внутри контейнера Docker, где я мог бы просто добавить выполнение службы внутри Dockerfile
.
решение1
Похоже, вам лучше просто использовать старый добрый CRON.
Вы можете настроить любой скрипт на запуск с любым интервалом, хотя я бы не рекомендовал запускать его постоянно, может быть, запускать его каждые 5 минут. Так что-то вроде этого:
*/5 * * * * php /path/to/php/file >/dev/null 2>&1
Итак, вы можете узнать больше о CRON:https://linuxman.co/linux-server/cron-a-nosedive-into-lazy-sysadmin/