Убить java launch4j-обернутое приложение, запущенное с java Process api - PullRequest
0 голосов
/ 12 октября 2019

Я использую Windows.

У меня есть Java-приложение, упакованное в исполняемый файл с launch4j. Когда я запускаю его, я вижу два процесса в моем диспетчере задач: упаковщик exe и базовый Java. Когда программа заканчивается, оба процесса исчезают.

Когда я запускаю exe с командной строкой, если я хочу остановить процесс преждевременно, я нажимаю Ctrl-C, и оба процесса завершаются.

Но в некоторых случаях программа запускается другим java-приложением с процессом api. В этом случае, если приложение должно быть остановлено преждевременно, я попытался использовать myProcess.destroy(), но была остановлена ​​только оболочка exe, базовый Java продолжал работать. Я также пытался destroyForcibly() с тем же результатом.

Почему разница в поведении? Как я могу действительно эмулировать поведение Ctrl-C и убить оба процесса?

...