CRON을 사용하여 프로세스 시작 및 모니터링

CRON을 사용하여 프로세스 시작 및 모니터링

C로 작성된 스텁 애플리케이션이 있습니다. 이제 이 애플리케이션을 정기적으로, 예를 들어 매일 오전 11시 30분에 실행하고 싶습니다. 사용하려고 생각했는데크론프로세스가 있지만 어떻게 해야 할지 모르겠습니다. 도와주세요.

또한 나는크론애플리케이션이 정상적으로 실행되고 있는지 주기적으로 확인합니다. 응용 프로그램이 충돌하거나 중단되는 경우,크론일정 시간 내에 애플리케이션을 다시 시작할 수 있어야 합니다.

답변1

Cron은 다른 프로세스를 감시하는 것이 아니라 예정된 간격으로 예정된 작업을 실행하기 위한 것입니다.

다음 중 하나를 수행할 수 있습니다.

  • 호스트 OS의 초기화 스크립트 시스템과 같은 다른 것을 사용하십시오. 아마도 사용자 정의 작업이 inittab있으면 죽어도 스스로 다시 생성될 것입니다.

  • 또는 정기적으로 실행되는 쉘 스크립트의 형태로 무언가를 해킹하여 cron데몬 스크립트가 제대로 실행되고 있는지 미리 결정된 검사 세트를 사용하여 확인하고, 그렇지 않은 경우 정리한 후 다시 정리합니다. - 발사.

답변2

crontab 파일에 항목을 만들 수 있습니다.

$ crontab -e

다음 사항에 따라 입력을 종료하세요.http://www.manpagez.com/man/5/crontab/

[email protected]
30 11 * * * /path/to/your/command

해당 항목을 사용하면 MAILTO명령이 STDERR에서 출력을 생성하는 경우 이메일을 받게 됩니다.

프로세스가 정지되었는지 확인하는 것이 더 어렵습니다. 정지가 무엇을 의미하는지 정의해야 합니다. 특정 시간 이상 실행됩니까? 인식 가능한 동작이 발생합니까?

나중에 언제든지 두 번째 프로세스나 스크립트를 실행하여 프로세스가 아직 실행 중인지 확인하고 적절한 조치를 취할 수 있습니다.

답변3

크로니터(https://cronitor.io)는 바로 이 목적을 위해 제가 만든 도구였습니다. 기본적으로 http 요청을 사용하여 cron 작업/예약된 작업의 시작과 끝을 기록하는 추적 비콘으로 요약됩니다.

Cronitor를 사용하는 이점 중 하나는 추적 요청을 스크립트로 작성할 수 있는 유연성이 있고 실패를 즉시 보고하는 호출을 할 수도 있다는 것입니다. 이러한 유연성을 통해 실패를 보고하는 애플리케이션용 래퍼를 작성할 수 있습니다.그리고오류가 발생하면 스크립트를 다시 시작하십시오.

관련 정보