백그라운드에서 지속적으로 PHP 스크립트 실행

백그라운드에서 지속적으로 PHP 스크립트 실행

특정 검사를 수행하고 변수가 변경되면 작동하는 무한 루프가 포함된 PHP 파일을 만들었습니다(스크립트 내부 내용은 내 질문에 그다지 중요하지 않을 수 있습니다). 중지하라고 말할 때까지 서비스가 항상 실행되기를 원합니다. 몇 가지 검색 끝에 nohup이 작업에 사용하기로 결정했습니다 . 그러나 nohup의 단점은 서비스가 다운되었는지 실제로 모니터링할 수 없다는 것입니다(수동으로 실행 ps -aux하고 프로세스를 찾는 것 외에는 ).

나는 또한 에 대한 내용을 읽었습니다 supervisord. 그것도 꽤 좋게 들리지만, 나는 일종의 길을 잃었고 최선의 해결책이 무엇인지 정말로 모릅니다. 재부팅 시 PHP 스크립트가 자동으로 시작되도록 하고 서비스에서 스크립트가 아직 실행 중인지 확인하도록 하고, 그렇지 않은 경우 재부팅/경고를 통해 무슨 일이 일어나는지 확인할 수 있기를 원합니다.

nohup또는 중 하나를 사용해야 합니까 supervisord? 아니면 전혀 다른 것을 추천하시나요? .Dockerfile

답변1

그냥 good'ol CRON을 사용하는 것이 더 나을 것 같습니다.

지속적으로 실행하는 것을 권장하지는 않지만 어떤 간격으로든 실행되도록 스크립트를 구성할 수 있습니다. 어쩌면 5분마다 실행하도록 할 수도 있습니다. 그래서 다음과 같습니다.

*/5 * * * * php /path/to/php/file >/dev/null 2>&1

따라서 CRON에 대해 자세히 알아볼 수 있습니다.https://linuxman.co/linux-server/cron-a-nosedive-into-lazy-sysadmin/

관련 정보