如何让Java的手柄系统中断如Ctrl + C
-
22-07-2019 - |
题
我有它创建了一个锁定文件,以确保没有其它执行在相同的时间,因为它运行的Java程序。如果程序运行时,它创建的文件,并在退出时,成功或通过一个例外,该文件将被删除。但是,如果用户点击Ctrl + C键,关闭终端,或以某种其他方式中断执行,该文件没有被删除。有什么方法来检测该中断命令,并确保该文件在这种情况下删除了呢?
解决方案
其他提示
要解决这个问题的唯一的好办法就是时间戳日志文件,并用新的时间戳更新日志文件每隔几秒钟。 File.deleteOnExit会有帮助,但没有一种方法是万无一失的(当有人只是拉电源线会发生什么?)。
如果你写一个时间戳,那么你可以检查有效的时间戳(最近写),并覆盖日志文件,如果实在是太糟糕过时。这样一个陈旧的锁文件将不会在用户的方式得到的。
不隶属于 StackOverflow