Подтвердить что ты не робот

"Выход" (ctrl + c) - процесс с консоли - Eclipse vs Intellij

Кажется, что в Eclipse, если вы хотите отправить ctrl + c в процесс, который вы не можете. Кнопка завершения на консоли просто убивает запущенный процесс, не запуская крючки отключения. Я знаю, что сама java не позволяет отправлять сигнал другому процессу.

Однако кажется, что идея intellij имеет кнопку "exit" рядом с кнопкой "stop", которая позволяет запускать крючки завершения.

Может кто-нибудь сказать мне, как это делает intellij?

Мне нужно отправить ctrl + c из моей программы в другой Java-процесс.

4b9b3361

Ответ 1

Intellij использует собственную библиотеку для отправки сигнала в Windows и команду kill в Unix.
Вот исходный код

Вы сказали, что не можете отправить сигнал на Java. Поэтому вам нужно выполнить собственный код.
Посмотрите здесь вопрос

Ответ 2

Насколько я понимаю, это происходит только в Windows с Eclipse. Также см.: https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016

Если вы просто проверяете свои крючки, вы можете сделать это, вызвав System.exit(), и я полагаю, что ваши пользователи не будут запускать приложение с помощью Eclipse, поэтому вам стоит рассчитывать на то, что он работает на них.