프로세스 시작 및 유지

프로세스 시작 및 유지

나는 내가 만든 Haskell 프로세스가 있는 Ubuntu 상자를 가지고 있습니다(임의의 서버 프로세스로 생각하십시오). 부팅 시 시작하고 어떤 이유로든 실패하는 경우(이상적으로는 로깅 실패, 코드 실행 실패 등)에 대비해 다시 시작하고 싶습니다.

어떻게 하나요?

이제 /etc/init.d/에 있는 쉘 스크립트를 작성했습니다. 이 스크립트는 haskell 프로세스를 시작하고 해당 출력을 /var/log/.log로 파이프합니다. 모니터링/다시 시작하는 방법은 무엇입니까?

답변1

확인/다시 시작은 일반적으로 다음과 같이 검사기를 스크립팅하여 수행됩니다.

#!/bin/sh
if ! pgrep -l name-of-executable >/dev/null 2>&1; then
    /etc/init.d/your-startup-script.sh
fi

그리고 전화해질소분은 다음과 같습니다 cron.

*/N * * * * /usr/local/bin/checker-script.sh

정말로 원한다면감시 장치Haskell 프로세스가 실행 중이면(종료 코드를 캡처하거나 종료 시 즉시 알림을 받을 수 있도록) 더 복잡한 래퍼가 필요합니다. 나는 보통 이런 목적으로 Python을 사용합니다.하위 프로세스 모듈실행 중인 하위 프로세스를 시작하고 모니터링하는 데 필요한 모든 도구가 있습니다.

관련 정보