Sending SIGINT (Ctrl-C) to program running in Ecli

2019-03-17 10:58发布

I have setup a run configuration in Eclipse and need to send SIGINT (Ctrl+C) to the program. There is cleanup code in the program that runs after SIGINT, so pressing Eclipse's "Terminate" buttons won't work (they send SIGKILL I think). Typing CTRL+C into the Console also doesn't work.

How do I send SIGINT to a process running inside an Eclipse Console?

(FWIW I am running a Twisted daemon and need Twisted to shutdown correctly, which only occurs on SIGINT)

3条回答
姐就是有狂的资本
2楼-- · 2019-03-17 11:27

That still seems to be an open issue: https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016

Just for the sake of completeness: If you came here to find a way to terminate a read line from System.in, Ctrl + Z worked for me (on Windows).

查看更多
3楼-- · 2019-03-17 11:28

You can send the command via one line:

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

Get the process id and than send the sigint signal

查看更多
兄弟一词,经得起流年.
4楼-- · 2019-03-17 11:41

If you can determine the process with a utility such as ps, you can use kill to send it a SIGINT. The program will likely be a child process of eclipse.

kill -s INT <pid>
查看更多
登录 后发表回答