netbeans如何停止运行?

ijnw1ujt  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(295)

我在Linux中使用Netbeans 7用Java编程,当我的程序(有时)无法退出时(也许不是在这个时代),我创建了一个线程来处理关闭

Runtime.getRuntime().addShutdownHook(new StopThread());

但是,当我用netbeans(F6)启动代码并通过“STOP”按钮停止它时,线程没有创建;但如果我通过终端运行程序并发送CTRL-c,线程就会创建。
问题是:netbeans会发出哪种类型的信号来终止程序?
或者(更好):我如何处理netbeans的停止,以便在强制停止程序时创建线程?
或者有没有办法修改停止的工作方式?
谢谢你,谢谢你

ebdffaop

ebdffaop1#

您使用的是Linux,这让它变得非常简单。我编写了很少的测试,并观察到了与您相同的行为-使用从终端钩子运行的crtl+c可以工作,而在Netbeans中停止则不行。以下是一些解决方法:
1.我在Gnome上,当我在系统监视器中找到正在运行的进程并按下“结束进程”时,钩子正在工作。
1.其他的,更万能道:

$ ps ax | grep Hook
17144 ?        Sl     1:21 /usr/lib/jvm/java-6-sun/bin/java -Dfile.encoding=UTF-8 -classpath /home/isopov/NetBeansProjects/ShutdownHookTest/build/classes:/home/isopov/NetBeansProjects/ShutdownHookTest/src shutdownhooktest.ShutdownHookTest
17176 pts/2    R+     0:00 grep --color=auto Hook
$ kill -15 17144

或在一行:

$ ps x | grep HookTest | grep java | awk '{print $1}' | xargs kill -15

相关问题