Ree*_*ese 5 java unix shutdown-hook
我试图让我的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.");
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在Unix上使用这样的代码来捕获SIGINT(#2)信号:
Signal.handle(new Signal("INT"), new SignalHandler() {
public void handle(Signal sig) {
// Forced exit
System.exit(1);
}
});
Run Code Online (Sandbox Code Playgroud)