Ich verwende Upstart für Dienste auf meinen Servern. Das Schreiben und Ablegen einer conf-Datei ist recht /etc/init
einfach, scheint jedoch nicht vollständig zu funktionieren. Zum einen service --status-all
listet der meinen neuen Service nicht auf. Ich habe es überprüft und wenn ich einen Link /etc/init.d
dazu /lib/init/ubstart-job
erstelle, wird er im Status angezeigt. Aber wenn ich das manuell mache, denke ich, dass ich es nicht richtig mache, und es kann durchaus andere Konfigurationsschritte geben, die nicht durchgeführt werden.
Wie installiere ich einen Upstart-Dienst richtig, sodass er in allen Tools, die sich mit Diensten befassen, ordnungsgemäß registriert ist?
/lib/init/upstart-job
?Antworten:
Wenn Sie eine neue conf-Datei zum ersten Mal in den Ordner / etc / init kopieren, müssen Sie Folgendes aufrufen:
Damit sollte Ihr Emporkömmling richtig registriert sein.
quelle
start
und diestop
Arbeit), der Job wird jedoch nicht alle im Status angezeigt. Ich musste es noch manuell hinzufügen,/etc/init.d/
damit das passierte.initctl list
Befehl mit sudo:sudo initctl list
. Auf diese Weise wird eine vollständige Liste der Dienste angezeigt.I still had to manually add it to /etc/init.d
. Musstest du noch was hinzufügen? Das bedeutet, dass zusätzlich zu einerX.conf
hinzugefügten Datei auch eine Datei hinzugefügt werden/etc/init
muss/etc/init.d
.Bezahlen Sie das Servicehandbuch:
(Betonung hinzugefügt)
Aus diesem Grund hat das Hinzufügen zu /etc/init.d (wo sich die sysvinit-Jobs befinden) dazu beigetragen, dass dies funktioniert. Also: versuchen Sie stattdessen initctl list auszuführen :).
quelle
That's why adding it
Was hinzufügen? Zusätzlich zu dermy_service.conf
Datei in/etc/init
, ist es auch notwendig, eine/etc/init.d
Datei zu haben ?Für SysV-Dienste
Stellen Sie sicher, dass Sie die folgenden Schritte ausführen, während Sie einen neuen Dienst in Ubuntu hinzufügen / erstellen.
/etc/init.d/<service name>
chmod 700 /etc/init.d/<service name>
update-rc.d <service name> defaults
update-rc.d <service name> enable
Wir sehen uns in
quelle
Ich habe festgestellt, dass ein Fehler in der .conf-Datei den Job für initctl nicht erkennbar machen kann. Zum Beispiel mit einer
setuid
Zeile in Upstart Version 1.3 oder früher.quelle
Während die aktuell gewählte Antwort korrekt ist, um den neuen Dienst zum Upstart hinzuzufügen, ist sie nicht besonders hilfreich, um herauszufinden, WARUM eine Konfiguration in / etc / init / nicht geladen werden kann - das fehlende Teil verwendet zunächst init-checkconf, um sicherzustellen Ihre Konfiguration ist gültig und verwendet dann reload-configuration:
quelle