私はいつも実行する必要がある小さなサービスを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