
OS가 시작될 때 자동 시작해야 하는 앱이 있습니다. CentOS 6에서 실행 중이므로 /etc/init.d
. 지금까지는 괜찮고 작동하고 있습니다.
이제....그 외에도 제가 원하는 것은 앱이 충돌(오류와 함께 종료)되는 경우 자동으로 다시 시작되는 것입니다. 이상적으로는 최대 시도 횟수를 정의하는 것입니다. Mac의 Info.plist에는 키가 있습니다. KeepAlive
이미 작업을 했으니 chkconfig
그걸로 할 수 있는 일이 없을지 궁금합니다.
나는 거기에 있다는 것을 안다http://mmonit.com/monit/하지만 내가 필요한 것에는 너무 많을 수도 있습니다.
답변1
이 프로세스를 시작하기 위해 init.d 스크립트를 제어하는 경우 다음과 같이 init.d 스크립트에서 프로세스 실행을 래핑할 수 있습니다.
until myserver; do
echo "Server 'myserver' crashed with exit code $?. Respawning.." >&2
sleep 1
done
이렇게 하면 프로세스가 죽을 때마다 기본적으로 영원히 루프까지 프로세스가 중단됩니다. 계산 등은 다음과 같이 소개될 수 있습니다.
cnt=0
max=3
until myserver; do
let cnt=cnt+1
echo "Server 'myserver' crashed with exit code $?. Respawning.." >&2
sleep 1
[ $cnt = $max ] && exit;
done