2012-02-18 3 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つだけ許可されていると想定していますか? –

1

は、シェルスクリプトがそれを実行し、そのコードが0の再起動プログラムではない場合は、リターンコードを待ちましょう。

関連する問題