Linux kill & Java shutdownhook
landon30 关注 2018.08.27 18:47:39字数 1,602阅读 677 shutdown-hook 建议加上shutdown的钩子 如果程序出现了内存溢出crash 则现在代码是没有任何保护措施的 或者说运维不小心关闭了服务器等 或者运维不小心kill了游戏服务器进程等 无法避免kill -9 时机 程序正常退出 使用System.exit() 终端使用Ctrl+C触发的中断 + 系统关闭 OutOfMemory宕机 使用Kill pid命令干掉进程(注:在使用kill -9 pid时,是不会被调用的) kill kill默认信号是SIGTERM 15 终止信号 kill -9 SIGKILL kill信号 kill -2 SIGINT interrupt 中断信号 同ctrl-c kill -1 SIGHUP hang up 挂起信号 kill -3 SIGQUIT 可打印进程#线程堆栈 只有kill -9能够结束jvm进程,别的信号量只是发送给java进程处理,至于如何响应是程序代码决定的 SIGTERM是不带参数时kill发送的信号,意思是进程终止运行,但执行与否还得看进程是否支持.如果进程还没有终止,可以使用 kill -SIGKILL pid,这是由内核来终止进程,进程不能监听这个信号 Java程序如果添加了shutdownhook,则可以监听1/2