Reduzindo o tempo limite de desligamento para “um trabalho de parada está em execução”

11

Eu tenho node.js e pm2 instalados em um Pi (Raspbian). O PM2 foi configurado para iniciar via pm2 startup e os scripts de init criados por ele. Às vezes, quando eu reinicio, o desligamento trava por alguns minutos:

A stop job is running for LSB: PM2 init script (... / 5min)

De vez em quando 1 , o que eu estou supondo é que o PM2 não desliga corretamente e trava por 5 minutos completos.

Neste sistema, sei exatamente quais aplicativos o PM2 está gerenciando e realmente não me importo se eles foram desligados corretamente.

A minha pergunta é: Como reduzo o tempo limite de 5 minutos para, digamos, 15 segundos ou mais? Onde isso está configurado?

Eu li em um fórum que era a chave DefaultTimeoutStopSec em /etc/systemd/system.conf , então eu tentei configurar isso para "15s" mas não teve efeito. Eu tentei a mesma coisa em /etc/systemd/user.conf , também, mas nenhuma mudança. O tempo limite ainda está definido para 5 minutos.

1 Eu realmente sei especificamente o que desencadeia isso, mas os detalhes não são importantes e o efeito é inevitável.

    
por Jason C 06.12.2016 / 03:02

2 respostas

5

How do I reduce the timeout from 5 minutes to, say, 15 seconds or so?

Você reconstrói o systemd a partir do código-fonte, corrigindo os hardwired tempo limite em systemv-sysv-generator de TimeoutSec=5min para o que você quiser. Ou você pede ao pessoal do systemd por um botão de controle em algum lugar dos cabeçalhos do Fedora / SUSE ou LSB.

Ou, na mão emocionante, você desiste de usar este script rc que você tem e escreve uma unidade de serviço systemd para o seu serviço, cujos tempos limite você pode definir com uma configuração TimeoutSec= explícita, instalada com uma queda -in arquivo de configurações em /etc/systemd/system/pm2.service.d/timeout.conf , se necessário.

Dada esta , isso , isto , isto , isto , e outros, a primeira regra para migrar para o systemd se aplica aqui também.

Leitura adicional

por 06.12.2016 / 08:08
8

/etc/systemd/system.conf tem uma linha

#DefaultTimeoutStopSec=90s

que pode ser descomentado e alterado

    
por 30.12.2016 / 11:53