Meu serviço do systemd manteve o tempo limite devido ao tempo que levaria para inicializar também, então isso me corrigiu:
- Edite seu arquivo systemd, para mim isso foi
/usr/lib/systemd/system/node.service
. Substitua "node" pelo nome do seu aplicativo. -
Use
TimeoutStartSec
,TimeoutStopSec
ouTimeoutSec
(mais informações aqui ) para especificar quanto tempo o tempo limite deve ser para iniciar & parando o processo. Depois, foi assim que meu arquivo systemd apareceu:[Unit] Description=SimGUI2 Documentation=man:node(1) After=rc-local.service [Service] WorkingDirectory=/home/simulations/GUIServer/Server/ Environment="NODE_PATH=/usr/lib/node_modules" ExecStart=-/usr/bin/node Index.js Type=simple Restart=always KillMode=process TimeoutSec=infinity [Install] WantedBy=multi-user.target
- Você também pode ver o status atual do Tempo limite executando qualquer um deles (mas será necessário editar o serviço para fazer alterações. Procure em
/usr/lib/systemd/system
):-
systemctl show node.service -p TimeoutStartSec
-
systemctl show node.service -p TimeoutStopSec
-
systemctl show node.service -p TimeoutSec
-
- Você também pode ver o status atual do Tempo limite executando qualquer um deles (mas será necessário editar o serviço para fazer alterações. Procure em
-
Em seguida, você precisará recarregar o sistema da seguinte forma:
-
systemctl reload application.service
- Para mim, foi assim:
systemctl reload node.service
-
-
Agora tente iniciar seu serviço!
- Se isso não funcionar, tente reinicializar systemctl com
systemctl reboot
- Se isso não funcionar, tente usar a opção
--no-block
para systemctl da seguinte forma:systemctl --no-block start node
. Esta opção é descrita aqui : "Não aguarde a conclusão da operação solicitada. Se isso não for especificado, o trabalho será verificado, enfileirado e o systemctl aguardará até que a inicialização da unidade seja concluída. Ao passar esse argumento, ele só é verificado e enfileirado. "
Espero que isso tenha ajudado!