나는 항상 실행되어야 하는 작은 서비스를 Go로 작성했습니다. 하지만 버그가 가득하고 때로는 충돌이 발생합니다. 그래도 오류가 발생하면 다시 시작하고 오류를 파일에 기록하고 싶습니다. 이렇게 실행하면 가능할 것 같아요
screen -d -m "./my_compiled_binary 2> on_error.sh"
하지만 확실하지 않습니다. 그 안에 무엇이 들어있을까요 on_error.sh
?
답변1
> outputfile
명령 출력을 파일로 리디렉션 하고 오류 출력을 2> errorfile
리디렉션합니다 . 다음을 참조하세요.stderr
http://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