実行するシェルスクリプトを含むデータベースのテーブルを監視するスレッドで構成されるJavaアプリケーションがあります。私は数秒ごとにデータベースを調べます。スクリプトの場合はProcessクラスを使用して実行し、テーブル内の別のスクリプトを待機します。Javaアプリケーションからシェルスクリプトを独立して実行する
私の問題は次のとおりです。時には、スクリプトの一部のコマンドが失敗することがあります。スレッドはエラーストリームをキャプチャし、データベースに記録します。ただし、メッセージのロギングは続行され、データベース内の後続のシェルスクリプトを実行できないため、スクリプトからJavaスレッドに制御が返されません。
回避策はありますか?
エラー状態を検出してprocess.destroy()を呼び出す方法はありますか? –