프로세스를 감독하고 정기적인 재시작을 예약하는 방법은 무엇입니까?

프로세스를 감독하고 정기적인 재시작을 예약하는 방법은 무엇입니까?

때로는 충돌이 발생하고 때로는 정지되는 프로세스를 실행합니다. 충돌이 발생하면 자동으로 다시 시작되도록 감독을 사용했습니다. 하지만 정지되면 컴퓨터 앞에 다시 돌아올 때까지 정지된 상태로 유지됩니다. 충돌이 발생하면 다시 시작하는 도구를 원하지만 주기적으로 종료하고 다시 시작하도록 구성할 수도 있으므로 정지해도 지정된 시간보다 더 이상 정지 상태를 유지하지 않습니다.

누가 어떤 도구를 제안할까요?

감사해요

답변1

원하는 경우 cron을 사용하여 이 작업을 수행할 수 있습니다.

sudo crontab -e

* /5 * * * pkill -9 <your process name here> ; <your process name here>

5시간마다 종료하고 다시 시작합니다. 더 많은 예...크론 예

답변2

나는 감독을 사용해 보았습니다.데몬툴즈crontab으로 :

먼저, 나는

supervise /fullpath

그리고 저는 이 crontab을 사용합니다:

0 23 * * * svc -d /fullpath
2 23 * * * svc -k /fullpath
5 23 * * * svc -u /fullpath

여기서 fullpath는 내 프로세스를 시작하는 run이라는 파일이 포함된 디렉터리입니다. 까다로운 부분은 호출된 파일이 다음으로 끝나야 한다는 것입니다.

exec java ...

보통은 스크립트로 애플리케이션을 시작하는데 해당 스크립트를 run이라는 파일에 넣으면 svc가 실행될 때 스크립트에 신호를 보내고 Java 프로세스가 계속 실행됩니다. 스크립트의 복사본을 생성하고 모든 매개변수를 사용하여 java에 대한 호출을 출력하도록 수정한 다음 이를 run이라는 파일에 복사했습니다.

관련 정보