新贵kill timeout
会让服务在退出前花一些时间正常关闭SIGKILL
。我有一个服务可能需要几分钟或几小时才能正常退出(我希望它花这么长时间),这能kill timeout
适用于几个小时的超时吗?或者 Upstart 允许的最大超时时间是多少?
我注意到launchd
指定超时是否无限。Upstart 中可以实现无限超时吗ExitTimeOut
?0
答案1
代码没有指定任何内容。请参阅init/parse_job.c
, 功能parse_kill
:
if (! strcmp (arg, "timeout")) {
nih_local char *timearg = NULL;
/* Update error position to the timeout value */
*pos = a_pos;
if (lineno)
*lineno = a_lineno;
timearg = nih_config_next_arg (NULL, file, len,
&a_pos, &a_lineno);
if (! timearg)
goto finish;
errno = 0;
class->kill_timeout = strtol (timearg, &endptr, 10);
if (errno || *endptr || (class->kill_timeout < 0))
nih_return_error (-1, PARSE_ILLEGAL_INTERVAL,
_(PARSE_ILLEGAL_INTERVAL_STR));
}
除了的最大值的明显限制之外long
,似乎您可以使用任何东西。