从控制台中退出进程 - Eclipse与Intellij的区别

29

在Eclipse中,似乎无法向进程发送ctrl+c信号。控制台上的终止按钮只是简单地杀死正在运行的进程,而没有运行关闭挂钩。我知道Java本身不允许向另一个进程发送信号。

然而,看起来IntelliJ IDEA确实有一个“退出”按钮,位于其“停止”按钮旁边,可以允许运行关闭挂钩。

有人能告诉我IntelliJ是如何做到这一点的吗?

我需要从我的程序向另一个Java进程发送ctrl+c。


1
不知道有“退出”按钮。+1 - Shadoninja
抱歉,在mac os上的IntelliJ IDEA Ultimate 2018.1中我没有看到“退出”按钮。 - user674669
2个回答

4
Intellij使用本地库在Windows上发送信号,在Unix上使用命令kill。
这里是源代码
正如您所说,Java不能发送信号。因此,您需要执行本机代码。
请看这里的问题

1

据我理解,这只发生在Windows下的Eclipse中。 此外,请参见:https://bugs.eclipse.org/bugs/show_bug.cgi?id=38016

就测试您的钩子而言,您可以通过调用System.exit()来进行测试,然后我想您的用户将不会使用Eclipse运行应用程序,所以可以保证它能正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接