Остановить внешнюю программу, когда Java-программа остановлена - PullRequest
5 голосов
/ 04 июня 2011

Я выполняю внешнюю программу, которая работает вместе с Java, используя это:

Process p = Runtime.getRuntime().exec("/path/to/binary");

Когда я останавливаю приложение Java, внешняя программа продолжает работать, но я хочу, чтобы это тоже останавливалось.

Ответы [ 2 ]

4 голосов
/ 04 июня 2011

Чтобы вызвать завершение работы, вы можете добавить ловушку отключения в свое Java-приложение. См. Runtime.addShutdownHook () .

Чтобы выполнить выключение, вы можете либо передать внешнему процессу запрос на корректную остановку, либо вызвать Process.destroy ()

1 голос
/ 04 июня 2011

использовать отключающий крюк: http://download.oracle.com/javase/1.4.2/docs/guide/lang/hook-design.html

...