是否可以轻轻终止Eclipse而不是使用SIGKILL?

DNS*_*DNS 21 eclipse process pydev

我在Windows上使用Eclipse,使用PyDev插件进行Python开发.当我使用'Run'启动我的应用程序时,它会产生一个新的Python(CPython)实例.当我使用'终止'按钮(红色方块)时,它会终止进程.但是,它似乎执行SIGKILL,因此我的关闭处理程序无法清理.

有没有办法让Eclipse发送SIGTERM,或者从Eclipse控制台模拟键盘中断(ctrl-c)?

注意:我知道还有其他Python IDE,比如Komodo或Wing可以解决这个问题,但我不打算转换它.

Aar*_*lla 10

Eclipse使用发送信号的Java Process API.这是一个原生API,没有办法改变它.我假设您也试图为SIGKILL安装一个处理程序,但这不起作用.

因此,唯一的解决方案是编写一个小批处理文件,列出进程并将SIGTERM发送给其中一个.从命令提示符调用它.如果你使用Alt-Tab切换到它,它几乎和在Eclipse内部一样舒服.

或者编写一个插件来调用批处理文件.

  • 为SIGKILL安装处理程序是没有意义的,因为根据定义,它永远不会执行.SIGTERM要求程序终止.SIGKILL使OS强制终止程序而不事先通知它. (5认同)