Servicestartanforderung wurde zu schnell wiederholt und der Start wurde abgelehnt

14

Ich habe einen Dienst unter Debian 8.6 erstellt und beim Versuch, ihn mit dem Dienstbefehl zu starten, erhalte ich eine Fehlermeldung.

Ich habe versucht systemctl daemon-reload, aber immer noch das gleiche Ergebnis.

$ 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.

Die Konfiguration ist in /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
quelle
1
Wenn der von systemctl ausgedruckte Fehler nicht sehr deutlich ist, kann dies daran liegen, dass die Grundursache verschluckt und als generischer Startfehler maskiert wird. Eine möglicherweise hilfreiche Methode, um herauszufinden, warum dies fehlschlägt, besteht darin, den in der ExecStart-Direktive angegebenen Befehl manuell auszuführen. In meinem Fall ist die Ursache direkt bei mir aufgetaucht.
Ubunfu

Antworten:

6
2610 ExecStart = / opt / bitnami / nodejs / bin / node /home/user/c9sdk/server.js -w / home / user -l 0.0.0.0 -a admin: admin (Code = beendet, Status = 216 / GROUP)
…
13. Oktober 07:21:02 test-vm systemd [1]: cloud9.service: Hauptprozess beendet, Code = beendet, Status = 216 / GROUP

… Was das Problem beschreibt. Ihre Gruppe nobodyist keine gültige Gruppe in Ihrem System. Geben Sie eine gültige Gruppe an.

Environment = PATH = / bin: / usr / bin: / usr / local / bin

Dies ist wahrscheinlich unnötig.

-w / home / user -l 0.0.0.0

In einer besseren Welt, das cloud9 Service - Programm hier würde seine Abhörsocket als offener Dateideskriptor empfängt und vererben ihr Arbeitsverzeichnis (das ironischerweise Sie haben ausdrücklich an anderer Stelle in der Einheit gesetzt).

Weitere Lektüre

JdeBP
quelle
2

Durch Entfernen des Parameters Restart und Hinzufügen eines gültigen Benutzers / einer gültigen Gruppe konnte das Problem behoben werden.

[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
quelle