Solicitação de início do serviço repetida muito rapidamente, recusando-se a iniciar

14

Eu criei um serviço no Debian 8.6 e, ao tentar iniciá-lo usando o comando service, recebo um erro.

Eu tentei systemctl daemon-reload, mas ainda estou obtendo o mesmo resultado.

$ sudo service cloud9 start
$ sudo service cloud9 status
● cloud9.service - cloud9
   Loaded: loaded (/etc/systemd/system/cloud9.service; enabled)
   Active: failed (Result: start-limit) since Thu 2016-10-13 07:21:02 UTC; 2s ago
  Process: 2610 ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin (code=exited, status=216/GROUP)
 Main PID: 2610 (code=exited, status=216/GROUP)

Oct 13 07:21:02 test-vm systemd[1]: cloud9.service: main process exited, code=exited, status=216/GROUP
Oct 13 07:21:02 test-vm systemd[1]: Unit cloud9.service entered failed state.
Oct 13 07:21:02 test-vm systemd[1]: cloud9.service holdoff time over, scheduling restart.
Oct 13 07:21:02 test-vm systemd[1]: Stopping cloud9...
Oct 13 07:21:02 test-vm systemd[1]: Starting cloud9...
Oct 13 07:21:02 test-vm systemd[1]: cloud9.service start request repeated too quickly, refusing to start.
Oct 13 07:21:02 test-vm systemd[1]: Failed to start cloud9.
Oct 13 07:21:02 test-vm systemd[1]: Unit cloud9.service entered failed state.

A configuração está em /etc/systemd/system/cloud9.service:

[Unit]
Description=cloud9

[Service]
ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin
Restart=always
User=nobody
Group=nobody
Environment=PATH=/bin:/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/home/user/c9sdk

[Install]
WantedBy=multi-user.target
Peter Gerhat
fonte
1
Se o erro impresso pelo systemctl não for muito claro, pode ser porque a causa principal está sendo engolida e ocultada como uma falha genérica ao iniciar. Uma maneira possivelmente útil de descobrir por que está falhando pode ser apenas executar manualmente o comando especificado na diretiva ExecStart. No meu caso, a causa raiz apareceu diretamente para mim.
Ubunfu 6/06/19

Respostas:

6
2610 ExecStart = / opt / bitnami / nodejs / bin / node /home/user/c9sdk/server.js -w / home / user -l 0.0.0.0 -a admin: admin (código = encerrado, status = 216 / GROUP)
...
13 de outubro 07:21:02 test-vm systemd [1]: cloud9.service: processo principal encerrado, código = encerrado, status = 216 / GROUP

... que descreve o problema. Seu grupo nobodynão é um grupo válido no seu sistema. Especifique um grupo válido.

Ambiente = CAMINHO = / bin: / usr / bin: / usr / local / bin

Provavelmente isso é desnecessário.

-w / home / user -l 0.0.0.0

Em um mundo melhor, o programa de serviço cloud9 aqui receberia seu soquete de escuta como um descritor de arquivo aberto, e herdar seu diretório de trabalho (que, ironicamente, você ter explicitamente definido em outras partes da unidade).

Leitura adicional

JdeBP
fonte
2

Remover o parâmetro Reiniciar e adicionar um usuário / grupo válido me ajudou a resolver o problema.

[Unit]
Description=cloud9

[Service]
ExecStart=/opt/bitnami/nodejs/bin/node /home/user/c9sdk/server.js -w /home/user -l 0.0.0.0 -a admin:admin
User=user
Group=group
Environment=PATH=/bin:/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/home/user/c9sdk

[Install]
WantedBy=multi-user.target
Peter Gerhat
fonte