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

回到顶部