在关闭Linux时关闭SIGTERM处理程序的超时配置位置
问题描述:
我试图调试java shutdownhook问题。这些关闭钩子使用SIGTERM +一个看门狗线程。我怀疑看门狗线程中的错误或者序列化过程中的错误,但无法消除第二种可能性,因为我无法调试(即使写入文件),所以我想增加调试超时,但我不知道这个价值在哪里。在关闭Linux时关闭SIGTERM处理程序的超时配置位置
编辑:我在Ubuntu
答
根据/etc/rc.d/rc0.d/S01halt
我的Fedora 12系统上,它的2个秒时:
kill_all $"Sending all processes the TERM signal..." -15 $OMITARGS
# No need to sleep and kill -9 if no processes to kill were found
if [ "$?" == 0 ]; then
sleep 2
kill_all $"Sending all processes the KILL signal..." -9 $OMITARGS
fi
在Ubuntu(10.04,至少),该代码是在/etc/init.d/sendsigs
。在发送SIGKILL
到任何剩余的信息之前,它最多等待10秒钟以终止进程。
尽管尝试自行关闭应用程序(kill 12345
,其中12345
是应用程序的PID)可能会更好。
杀死不会触发错误的代码。我有兴趣在查杀前调试超时,所以我需要更多时间(可能还有一个远程调试器)。 无论如何,这个路径在Ubuntu中不存在。 – i30817 2010-06-30 21:29:11
有一个类似的文件: 但它不使用的睡眠都: ... \t log_action_msg “现在停止” \t停止-d -f $ netdown $关机$ hddown ... 我不知道alt命令,如何引入aditional delayy,但同时通知应用程序事情正在关闭。 – i30817 2010-06-30 21:34:10
类似的文件是:/etc/rc0.d/S90halt – i30817 2010-06-30 21:34:42