Отправка SIGINT (Ctrl-C) в программу, запущенную в Eclipse Console - PullRequest
25 голосов
/ 11 января 2012

Я настроил конфигурацию запуска в Eclipse, и мне нужно отправить SIGINT ( Ctrl + C ) в программу.В программе, которая запускается после SIGINT, есть код очистки, поэтому нажатие кнопок «Завершение» в Eclipse не сработает (я думаю, что они отправляют SIGKILL).Ввод CTRL + C в консоль также не работает.

Как отправить SIGINT процессу, выполняющемуся в консоли Eclipse?

(FWIW Я запускаю Twisted Daemon и мне нужно Twisted для корректного выключения, которое происходит только на SIGINT)

Ответы [ 3 ]

9 голосов
/ 11 января 2012

Если вы можете определить процесс с помощью такой утилиты, как ps, вы можете использовать kill, чтобы отправить ей SIGINT.Программа, вероятно, будет дочерним процессом затмения.

kill -s INT <pid>
2 голосов
/ 20 февраля 2015

Вы можете отправить команду через одну строку:

 kill -SIGINT $(ps aux | grep ProgrammName | grep -v grep | awk '{print $2}') 

Получить идентификатор процесса и затем отправить сигнал sigint

0 голосов
/ 14 июля 2016

Это все еще кажется открытой проблемой: https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016

Просто для полноты: если вы пришли сюда, чтобы найти способ завершить строку чтения из System.in, Ctrl + Z работал для меня (на Windows).

...