Existe um valor máximo para a configuração de tempo limite de morte do upstart?

1

kill timeout do Upstart permitirá que um serviço leve algum tempo para ser desligado antes de receber SIGKILL ed. Eu tenho um serviço que poderia levar minutos ou horas para sair normalmente (e eu gostaria que demorasse tanto), kill timeout funcionará para tempos limite de várias horas? Ou há algum tempo limite máximo que o Upstart permitirá?

Noto que launchd especifica se ExitTimeOut é 0 o tempo limite será infinito. Um tempo limite infinito é possível no Upstart?

    
por dimo414 20.08.2015 / 18:06

1 resposta

1

O código não especifica nenhum. Veja init/parse_job.c , function 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));
} 

Além do limite óbvio do valor máximo de long , parece que você pode usar qualquer coisa.

    
por muru 20.08.2015 / 23:06