Was ist die kanonische Methode, um einen Daemon im Rhel / Centos-6-Init-Skript zu starten?

11

Ich habe viele gute Dokumentationen für Ubuntus Start-Stopp-Daemon gefunden und es gibt eine Manpage für eine Binärdatei daemon.

Aber von dem, was ich sagen kann, besteht die kanonische Art, einen Daemon in einem Rhel / Centos-Skript zu starten /etc/init.d/functions, darin, die daemon()Funktion zu verwenden und dann zu verwenden . Aber ich kann keine guten Beispiele oder Dokumentationen finden.

Was ist die kanonische Methode, um einen Daemon im Rhel / Centos-6-Init-Skript zu starten?

Mein erster Versuch war:

#!/bin/bash
source /etc/init.d/functions
daemon --user USER nohup /path/to/your/binary arg1 arg2 >/dev/null 2>&1 &
Trevor Boyd Smith
quelle
@ Christopher Ich habe die Frage aktualisiert (nicht systemd)
Trevor Boyd Smith

Antworten:

10

Die gesuchte Dokumentation und das gesuchte Beispiel finden Sie unter /usr/share/doc/initscripts-*/sysvinitfilesCentOS / RHEL. Hier ist die Dokumentation für die daemonFunktion speziell:

Daemon [--check] [--user] [+/- nicelevel] Programm [Argumente] [&]

    Starts a daemon, if it is not already running.  Does
    other useful things like keeping the daemon from dumping
    core if it terminates unexpectedly.

    --check <name>:
       Check that <name> is running, as opposed to simply the
       first argument passed to daemon().
    --user <username>:
       Run command as user <username>

Mit CentOS / RHEL 6 haben Sie auch die Möglichkeit, eine Upstart-Jobdatei zu verwenden, anstatt ein Sysv-Init-Skript zu schreiben.

Jordanm
quelle
1
Dies ist genau das, wonach ich gesucht habe: 1. echte Dokumentation 2. Anleitung, ob ich &am Ende der Zeile einen hinzufügen soll oder nicht (es gibt andere ähnliche Daemon-Befehle, die die &Hintergrundoperation für Sie ausführen)
Trevor Boyd Smith