最初は複数のプロセスを起動するプロジェクトをすべてJavaでデバッグする必要があります。複数のプロセスでデバッグ
私の問題は、そのようなコードをデバッグすることは非常に面倒です。デバッグセッションが終了するたびに、他のすべてのプロセスがメモリにスタックされ、それらをすべて終了することは非常に面倒です(プロセス名を持たず、すべて「java」です)。
すべての殺人を自動的に行うことはできますか? または他のソリューションですか?
最初は複数のプロセスを起動するプロジェクトをすべてJavaでデバッグする必要があります。複数のプロセスでデバッグ
私の問題は、そのようなコードをデバッグすることは非常に面倒です。デバッグセッションが終了するたびに、他のすべてのプロセスがメモリにスタックされ、それらをすべて終了することは非常に面倒です(プロセス名を持たず、すべて「java」です)。
すべての殺人を自動的に行うことはできますか? または他のソリューションですか?
方法がないようです!
サブプロセスを強制終了するには、process.destroy
に電話する必要があります。アプリケーションのシャットダウンフックを作成し、このコールをアプリケーションに追加することができます。
これはデバッガで動作するかどうかをテストする必要がありますが、それでもアプリケーションを正常にシャットダウンすることができます。ここで
は一例です:
// start a sub process
final Process childProcess = new ProcessBuilder("some command").start();
// add a shutdown hook which will be invoked when the JVM is shutting down
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
childProcess.destroy();
}
});
どのプラットフォーム/ IDEを使用していますか? – Attila
私はMacでNetbeansを使用しています。 – MBZ
すべてのプロセスを1つのJVMで実行できますか?例えばそれらのすべてを呼び出すために1つのメイン()? –