1

最初に複数のプロセスを開始するプロジェクトをすべてJavaでデバッグする必要があります。

私の問題は、そのようなコードのデバッグが非常に面倒であるということです。デバッグセッションを終了するたびに、他のすべてのプロセスがメモリにスタックし、それらすべてを強制終了するのは非常に面倒です(プロセス名がなく、すべて「java」であるため)。

すべての殺害を自​​動的に行うことは可能ですか?または他の解決策?

4

2 に答える 2

0

サブプロセスを強制終了するには、を呼び出す必要があります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();
    }
});
于 2012-05-01T10:07:54.503 に答える
0

仕方がないようです!

于 2012-05-08T07:09:14.397 に答える