特別なタスクのために他のプロセスを実行する Java プログラムを作成しました。メインのJavaプロセスが終了または終了した場合にすべての子プロセスが終了するという格子条件を満たしたいです。私はJavaプログラムでこのコードを使用しました:
processBuilder = new ProcessBuilder(command);
processBuilder.redirectErrorStream(true);
process = processBuilder.start();
これが起こらないこともあります。実行するサンプル コマンドは、プログラムまたはシェル ファイルを呼び出している可能性があります。使用waitFor()
しましたが効果がありませんでした。Ubuntu 12.04 と Java 7.21 を使用しています。誰でもこれについて私を助けることができますか?
編集: メインのJavaプロセスが予期せず終了した場合でも、OSによって子プロセスが停止されるようにします。