오류 발생 시 바이너리를 다시 시작하기 위한 Bash 스크립트

오류 발생 시 바이너리를 다시 시작하기 위한 Bash 스크립트

나는 항상 실행되어야 하는 작은 서비스를 Go로 작성했습니다. 하지만 버그가 가득하고 때로는 충돌이 발생합니다. 그래도 오류가 발생하면 다시 시작하고 오류를 파일에 기록하고 싶습니다. 이렇게 실행하면 가능할 것 같아요

screen -d -m "./my_compiled_binary 2> on_error.sh"

하지만 확실하지 않습니다. 그 안에 무엇이 들어있을까요 on_error.sh?

답변1

> outputfile명령 출력을 파일로 리디렉션 하고 오류 출력을 2> errorfile리디렉션합니다 . 다음을 참조하세요.stderrhttp://mywiki.wooledge.org/BashGuide/InputAndOutput#File_Redirection

아마도 당신이 원하는 것은 다음과 같은 루프입니다:

while true ; do 
    ./my_compiled_binary 2>> errorlog 
    sleep 1
done

그러면 1초 후에 프로그램이 (무조건적으로) 다시 시작되고 오류 출력이 파일로 리디렉션됩니다 ( 개별적으로가 아닌 errorlog파일에 추가됨 ). 바라보다:>>>http://mywiki.wooledge.org/BashGuide/TestsAndConditionals

관련 정보