2012-02-18 2 views
-3

"mm.out"과 같은 이름의 바이너리 프로그램이 있습니다. 이 프로그램에는 예기치 않은 버그가 있으며 버그로 인해 예기치 않은 버그가 발생합니다. 예기치 않게 중단 된 경우 다시 바이너리를 실행하기 위해 서비스 또는 쉘 스크립트를 작성하고 싶습니다. 이 프로그램을 어떻게 작성해야합니까?프로그램을 중단하지 않습니다 (쉘 스크립트 사용)

+0

프로그램을 디버깅해야합니다 ('gdb'와 같은 디버거를 사용하고 코어 덤프 파일 제한을 적절한 값으로 설정해야합니다). 쉘 스크립트 안에'while' 루프를 작성할 수 있습니다. –

답변

3

프로그램을 수정해야합니다. 당신이 정말이 원하는 경우에, 루프에서 실행 :

while ! mm.out 
do 
    sleep 5 # Just in case the program dies immediately 
done 
+1

어쩌면 그가 의미하는 바는 일단 멈 추면 자동으로 실행을 시작하는 것입니다. (자동) –

+1

@Nunoxic 그게 바로이 일입니다. – cnicutar

+0

주어진 시간에 오직 하나의 코드 인스턴스 만 허용된다고 가정해야합니까? –

1

쉘 스크립트를 실행하고 코드가 0이 다시 시작 프로그램이 아닌 경우, 반환 코드를 기다리 자.

관련 문제