Java - инициировать постепенное завершение работы с помощью идентификатора процесса в Windows - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть программа, которая будет работать на компьютере с Windows, и я хочу использовать Runtime.getRuntime().addShutdownHook(), чтобы корректно завершить работу моей программы и дождаться завершения всех потоков, прежде чем завершить работу.

Я могу вызвать это завершение работыиз Powershell или пакетного скрипта с использованием pid.Java-программа запускается как фоновый процесс, поэтому, насколько я знаю, нет способа передать этому процессу эквивалент команды Ctrl-C.

То, что я пробовал:

Stop-Process прервал процесс, не вызывая ловушку завершения работы

taskkill возвратил ошибку, сообщающую, что процесс не может быть завершен принудительно, и что он должен быть принудительно завершен

taskkill /f прервал процесс без запускакрюк выключения

Как я могу запустить изящное завершение работы Java в Windows?Я читал, что есть способ отправить сигнал через JVM, но я не смог найти способ сделать это в Windows.

...