«Выход» (Ctrl + C) процесс из консоли - Eclipse vs Intellij - PullRequest
28 голосов
/ 15 мая 2009

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

Однако, похоже, что у идеи Intellij есть кнопка «Выход» рядом с кнопкой «Стоп», которая позволяет запускать ловушки отключения.

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

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

Ответы [ 2 ]

4 голосов
/ 19 апреля 2013

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

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

1 голос
/ 04 марта 2010

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

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

...