O problema é que você definiu o tipo de serviço como forking
. O Systemd está esperando que você ExecStart
seja bifurcado para o plano de fundo antes de continuar. Você precisa alterar o tipo para simple
. Consulte o manual
Eu quero executar um script na inicialização. O script é recursivo e chama a si próprio.
Quando adicionei a unidade systemd para o mesmo, ela está em execução, mas foi interrompida em 1 min devido a DefaultTimeoutStartSec
. Assume que o meu script ainda não foi iniciado.
A seguir, o arquivo de serviço que criei
[Unit]
Description = My Desc
After = network.target
[Service]
Type = forking
ExecStart = /root/my_recursive_script.sh
[Install]
WantedBy = multi-user.target
Eu sei que posso fazer esse serviço funcionar adicionando TimeoutSec
ao infinito, mas isso seria uma solução alternativa. Quando eu executo meu serviço com
systemctl start myservice.service
não sai do cursor até o tempo limite de encontro.
O problema é que você definiu o tipo de serviço como forking
. O Systemd está esperando que você ExecStart
seja bifurcado para o plano de fundo antes de continuar. Você precisa alterar o tipo para simple
. Consulte o manual