Prozess mit Autostart dämonisieren

Prozess mit Autostart dämonisieren

Ich habe ein einfaches Skript in Ruby geschrieben.

  • Ich möchte es als Hintergrundaufgabe (Daemonprozess oder Dienst) ausführen.
  • Darüber hinaus möchte ich die Kontrolle darüber haben, sodass ich es starten und stoppen kann.
  • Es wäre perfekt, wenn der Vorgang automatisch gestartet werden könnte, wenn mein VPS neu gestartet wird.

Gibt es eine Möglichkeit, das zu tun?

Antwort1

Eigentlich habe ich dafür die perfekte Lösung gefunden. Es erfordert upstartalso viel einfacher als Standarddienste runitund systemd.

Hier ist eine ausführlichere Anleitung: http://blog.arkency.com/2014/06/create-run-and-manage-your-background-processes-with-upstart/

Und es ist ungefähr so:

In /etc/init/my_program_upstart_script.conf:

start on my_event
respawn
exec /home/my_user/my_program/my_program_executable

Ja, so einfach!

Führen Sie das Programm einfach mit aus sudo initctl emit my_event.

Antwort2

Eine einfache Möglichkeit besteht darin, ein Bash-Skript zu erstellen, das Ihre Anwendung startet/stoppt. Folgen Sie /etc/init.d/skeletondiesem Beispiel.

Installieren Sie Ihr Skript:

    sudo copy yourApplicationCtl /etc/init.d
    sudo chmod +x /etc/init.d/yourApplicationCtl

So starten Sie Ihre Anwendung beim Booten des Servers und stoppen sie beim Herunterfahren:

    sudo update-rc.d yourApplicationCtl defaults

Wenn Sie Ihre Anwendung manuell starten/stoppen möchten:

    sudo service yourApplicationCtl start/stop

Nützliche Links sind:UbuntuBootenAnleitung, Manpage vonupgrade-rc.dUndService

verwandte Informationen