¿Cuál es la forma canónica de iniciar un demonio en rhel / centos-6 init script?

11

Encontré mucha documentación buena para el demonio start-stop-daemon de ubuntu y hay una página de manual para un binario daemon.

Pero por lo que puedo decir, la forma canónica de iniciar un demonio en un script rhel / centos es /etc/init.d/functionsusar la daemon()función y luego usarla . Pero no puedo encontrar ningún buen ejemplo o documentación.

¿Cuál es la forma canónica de iniciar un demonio en el script de inicio rhel / centos-6?

mi primer intento fue:

#!/bin/bash
source /etc/init.d/functions
daemon --user USER nohup /path/to/your/binary arg1 arg2 >/dev/null 2>&1 &
Trevor Boyd Smith
fuente
@ Christopher Actualicé la pregunta (no systemd)
Trevor Boyd Smith

Respuestas:

10

La documentación y el ejemplo que está buscando se encuentra en /usr/share/doc/initscripts-*/sysvinitfilesCentOS / RHEL. Aquí está la documentación para la daemonfunción específicamente:

daemon [--check] [--user] [+/- nicelevel] program [argumentos] [&]

    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>

Con CentOS / RHEL 6, también tiene la opción de usar un archivo de trabajo inicial en lugar de escribir un script de inicio sysv.

jordanm
fuente
1
Esto es exactamente lo que estaba buscando: 1. documentación real 2. guía sobre si debería agregar un &al final de la línea o no (hay otros comandos de daemon similares que hacen la &operación en segundo plano por usted)
Trevor Boyd Smith