是否有可能在java命令行应用程序中捕获Ctrl+ C信号?我想在终止程序之前清理一些资源。
发布于 2018-03-21 10:21:59
您可以将关闭挂接附加到VM关闭时运行的VM:
Java虚拟机响应两种事件而关闭:
但是,作为关闭钩子传递的线程必须遵循几条规则,因此请仔细阅读链接文档以避免任何问题。这包括确保线程安全,线程的快速终止等。
另外,正如Jesper指出的那样,关闭挂钩保证在虚拟机正常关闭的情况下运行,但如果虚拟机进程强行终止,则不会。如果原生代码出现故障或者您强行终止进程(kill -9
,taskkill /f
),则可能发生这种情况。
但是在这些情况下,所有的赌注都无济于事,所以我不会浪费太多的思考。
https://stackoverflow.com/questions/-100007698
复制相似问题