Java如何在CLI应用程序中“拦截” Ctrl + C?
如何在CLI(命令行界面)Java应用程序中截获 Ctrl + C
(通常会杀死进程)?
是否存在多平台解决方案(Linux,Solaris,Windows)?
我使用Console
的是readLine()
,但是如有必要,我可以使用其他方法从标准输入中读取字符。
回答:
Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { /*
my shutdown code here
*/ }
});
这应该能够截获信号,但是仅作为JVM完全关闭自身之前的中间步骤,因此它可能不是你要注意的。
你需要使用SignalHandler(sun.misc.SignalHandler)
截获SIGINT由Ctrl+
触发的信号C(在Unix和Windows上)。
以上是 Java如何在CLI应用程序中“拦截” Ctrl + C? 的全部内容, 来源链接: utcz.com/qa/409424.html