Как отправить последовательность ключей прерывания в Java-процесс? - PullRequest
11 голосов
/ 27 мая 2009

У меня есть дескриптор экземпляра Java Process и связанных с ним потоков. Это консольная программа. Я хотел бы смоделировать последовательность перерывов. В Windows это Ctrl-C. Возможно ли это без аборигенов?

Причина для этого: консольная программа - это сама консоль командной строки, управляющая виртуальной машиной для другого языка. Пользователь может запустить другую программу из этой консольной программы. Во время выполнения программы последовательность прерываний прервет выполнение основной программы и приведет к тому, что консольная программа перейдет в режим отладки.

Мы обертываем Java этим консольным отладчиком, чтобы он мог управляться через IDE (Eclipse). Отправка последовательности прерывания будет эквивалентна нажатию клавиши «Suspend» в отладчике Eclipse.

1 Ответ

4 голосов
/ 27 мая 2009

Вы, вероятно, хотите посмотреть SendSignal . Это отправит Ctrl-Break в Java-процесс. Я предполагаю, что ваша цель - вызвать дамп стека, который CTRL-C (сигнал 3 или SIGQUIT) сделает для работающего процесса Java?

...