RedHat démon fonction de l'utilisation
Je suis en train de travailler sur un script d'initialisation pour l'Embarcadère de RHEL. Essayez d'utiliser le daemon
fonction fournie par l'initialisation de la bibliothèque (/etc/rc.d/init.d/functions
).
J'ai trouvé cette laconique de la documentation, et un exemple en ligne (j'ai aussi été à la recherche à d'autres scripts d'initialisation du système pour des exemples).
Regardez cet extrait de code en ligne pour démarrer le démon
daemon --user="$DAEMON_USER" --pidfile="$PIDFILE" "$DAEMON $DAEMON_ARGS &"
RETVAL=$?
pid=`ps -A | grep $NAME | cut -d" " -f2`
pid=`echo $pid | cut -d" " -f2`
if [ -n "$pid" ]; then
echo $pid > "$PIDFILE"
fi
Pourquoi la peine de regarder le $PID
et de l'écriture à la $PIDFILE
à la main? Je crois que je vais demander quel est le point de la --pidfile
option pour le daemon
fonction.
J'ai essayé d'utiliser
--user=root
et encore daemon
ne pas écrire le fichier pid.OriginalL'auteur quickshiftin | 2014-02-12
Vous devez vous connecter pour publier un commentaire.
Pour répondre à la question que vous devinez que vous avez, c'est que
--pidfile
est utilisé pour vérifier si le démon processus est déjà en cours d'exécution. Sur RHEL (et dérivés) ledaemon
fonction n'est pas écrire le pidfile.Dans le cas que le programme reste au premier plan, il doit être explicitement envoyé à l'arrière-plan en ajoutant
&
à la commande et le pid doit être récupérée par la suite.$!
n'est pas utilisable lors de l'utilisation dedaemon
.daemon
est une fonction deinitscripts
quiStarts a daemon, if it is not already running. Does other useful things like keeping the daemon from dumping core if it terminates unexpectedly.
starts a deamon
est pas précis comme démon par la spécification est un processus d'arrière-plan. si j'ai besoin d'ajouter un nohup ou & sur la méthode, ce qui semble très contre-intuitif pour moi.OriginalL'auteur jnas