Ich entwickle eine Nodejs-Anwendung, mit der der Benutzer über HTTP auf localhost interagiert. Es gibt praktisch keine Parameter und der Daemon hat praktisch keine Abhängigkeiten und muss nur bis zur Anmeldezeit aktiv sein.
Ich möchte die Redewendungen für Start-Skripte auf jeder Plattform befolgen, und das bedeutet Upstart unter Ubuntu und systemd unter Fedora.
- Gibt es gute Tutorials zum Schreiben von System- und Systemdateien?
- Gibt es Best Practices, die beachtet werden müssen?
Ich habe diese Ressourcen gefunden:
- Fedora-Wiki-Seite über systemd
- Blog über das Schreiben von systemd-Systemdateien
- Systemd auf Wikipedia
Ich suche hauptsächlich eine Art API als Referenz sowie ein grundlegendes Format, dem ich folgen kann.
Antworten:
Ich würde mit den Systemd-Handbuchseiten beginnen . Sie stellen eine umfassende Ressource des Systems und der Dienste dar.
Es gibt auch die freedesktop Systemd FAQs .
quelle
man
es mehr als ausreichend , die Servicedatei für eine ähnliche App zu lesen und dann bestimmte Teile der Seite zu konsultieren , um dorthin zu gelangen. Sie sind eigentlich ziemlich einfach.Das folgende Beispiel ist von diesem Link inspiriert, der eigentlich nicht alle Schritte erwähnt und nur zur Quellenangabe aufgeführt ist: http://patrakov.blogspot.com/2011/01/writing-systemd-service-files.html
Schritt 1 : Ich habe diese Datei (Speicherort für Notizen) erstellt, die im Wesentlichen einen Bash-Prozess mit einem erweiterten Argument auslöst. Sie könnten Ihren eigenen Befehl abfeuern, der sich von Bash unterscheiden könnte.
Schritt 2 :
Nachladen
systemd
:Starten Sie den neuen Dienst:
(ähnlich kannst du
disable
es)(optional) Schritt 3 : Es sollte automatisch beim nächsten Neustart im Mehrbenutzermodus (Ausführungsebene 3) gestartet werden. Wenn Sie es jedoch sofort starten möchten:
Update: Der Vollständigkeit halber sollte ich hinzufügen, dass Ubuntu Bionic eine sehr gründliche Manpage zu haben scheint. RTFM hier
quelle
/etc/systemd/system
. In / usr / lib / systemd werden die Dateien der richtigen Distributionspakete abgelegt.Die Redhat-Dokumentation ist eine großartige Quelle.
quelle