Ответ 1
Intellij использует собственную библиотеку для отправки сигнала в Windows и команду kill в Unix.
Вот исходный код
Вы сказали, что не можете отправить сигнал на Java. Поэтому вам нужно выполнить собственный код.
Посмотрите здесь вопрос
Кажется, что в Eclipse, если вы хотите отправить ctrl + c в процесс, который вы не можете. Кнопка завершения на консоли просто убивает запущенный процесс, не запуская крючки отключения. Я знаю, что сама java не позволяет отправлять сигнал другому процессу.
Однако кажется, что идея intellij имеет кнопку "exit" рядом с кнопкой "stop", которая позволяет запускать крючки завершения.
Может кто-нибудь сказать мне, как это делает intellij?
Мне нужно отправить ctrl + c из моей программы в другой Java-процесс.
Intellij использует собственную библиотеку для отправки сигнала в Windows и команду kill в Unix.
Вот исходный код
Вы сказали, что не можете отправить сигнал на Java. Поэтому вам нужно выполнить собственный код.
Посмотрите здесь вопрос
Насколько я понимаю, это происходит только в Windows с Eclipse. Также см.: https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016
Если вы просто проверяете свои крючки, вы можете сделать это, вызвав System.exit(), и я полагаю, что ваши пользователи не будут запускать приложение с помощью Eclipse, поэтому вам стоит рассчитывать на то, что он работает на них.