충돌 시 자동 재시작 프로세스

충돌 시 자동 재시작 프로세스

네이티브 코드를 실행하는 Java 서버 프로세스가 있는데 네이티브 코드의 문제로 인해 전체 프로세스가 중단될 가능성이 항상 존재합니다. *nix 운영 체제에서 프로세스가 비정상적으로 존재할 때(종료 상태 != 0) 프로세스를 다시 생성할 수 있는 메커니즘이 있습니까?

특정 수준의 제어/구성을 동시에 제공하여 모든 종류의 프로세스에 대해 이 작업을 자동화할 수 있는 도구/유틸리티가 있습니까?

답변1

몇 가지 옵션이 있습니다. 언제든지 다음과 같은 짧은 쉘 스크립트로 래핑할 수 있습니다.

#!/bin/sh

RC=1
while [ $RC -ne 0 ]; do
   ./my-java-app
   RC=$?
done

우아함과는 거리가 멀지만 충분할 수 있습니다.

답변2

당신이 찾고 있는 것은 일반적으로 프로세스 모니터링 또는공정 감독. 일반적으로 다양한 기능 세트의 일부로 이를 수행하는 많은 도구가 있습니다.갑자기 나타나다Linux 세계의 시스템 서비스에 점점 더 많이 사용되고 있습니다.모니트루트로 시작되지 않은 프로그램에 대해 가장 먼저 시도하는 것이지만 대안이 많이 있습니다.

관련 정보