我试图让我的 Java 程序在我的 unix 服务器上正常退出。我有一个 jar 文件,我从早上的 cron 作业开始。然后在晚上,当我想关闭它时,我有一个 cron 作业,它调用一个找到 PID 的脚本并调用kill -9 <PID>
. 但是,当我以这种方式终止时,似乎没有激活我的关闭挂钩。我也试过kill <PID>
(没有-9),我遇到了同样的问题。如何确保调用关闭挂钩?或者,也许有更好的方法可以每天杀死我的进程。
class ShutdownHook {
ShutdownHook() {}
public void attachShutDownHook() {
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
System.out.println("Shut down hook activating");
}
});
System.out.println("Shut Down Hook Attached.");
}
}