Wie richte ich einen Dienst ein?


19

Ich habe ein Skript, das ich als Dienst auf meiner Ubuntu Server 11.04 Headless Box ausführen möchte. Das heißt, ich möchte die richtigen Dateien unter /etc/init.d/ haben und sie über den serviceBefehl steuern können .

Gibt es eine Anleitung, die mir zeigt, wie das geht?

Antworten:


14

Sofern Sie nicht 15.04 oder eine spätere Version (die verwendet wird systemd) verwenden, sind Sie wahrscheinlich besser dran, wenn Sie Ihr Skript in einen Upstart-Job umwandeln, anstatt den Beispielen zu folgen, die Sie in finden /etc/init.d/(die Init-Skripte im System V-Stil sind). von denen sich Ubuntu und andere Distributionen entfernen).

Das Upstart-Kochbuch enthält eine enorme Menge an Informationen darüber, wie Upstart-Jobs funktionieren. Obwohl ich es nicht als HOWTO bezeichnen würde, wenn Sie die Informationen dort mit dem Durchsuchen der aktuellen Ubuntu Upstart-Jobs kombinieren, erhalten Sie ein klares /etc/init/Bild.

Ich empfehle, mit den Abschnitten 4 und 5 des Kochbuchs "Konzepte und Terminologie" und "Konfiguration" zu beginnen.


10

Hier ist ein sehr einfaches Beispiel zum Erstellen eines Upstart-Skripts: https://wiki.frugalware.org/index.php/Upstart_Job_HOWTO

UPDATE: obiger Link ist defekt. Hier ist ein Beispiel eines Skripts:

description "My startup service"
author "You or someone else"
version "3.14"

pre-start script
    echo 'Starting my service ...'
end script

start on net-device-up
stop on runlevel [!2345]

console output

respawn

exec /path/to/your/custom/script

Bei Bedarf anpassen.

Sie sollten das Skript in platzieren /etc/init/yourfilename.conf

Laden Sie dann die Konfiguration neu mit:

sudo initctl reload-configuration

Und wenn alles in Ordnung ist, sollten Sie damit beginnen können:

sudo start yourfilename

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.