Port pour utiliser CentOS init.d functions

Quelles sont les bonnes commands cinputs équivalentes utilisant des fonctions dans /etc/init.d/functions telles que daemon pour effectuer les tâches suivantes?

 STARTCMD='start-stop-daemon --start --exec /usr/sbin/swapspace --quiet --pidfile /var/run/swapspace.pid -- -d -p' STOPCMD='start-stop-daemon --stop --oknodo --quiet --pidfile /var/run/swapspace.pid' 

Il semble que daemon fonctionnera pour la command de démarrage et killproc est utilisé pour la command stop.

  . /etc/init.d/functions pushd /usr/sbin daemon --pidfile /var/run/swapspace.pid /usr/sbin/swapspace . /etc/init.d/functions killproc -p $(cat /var/run/swapspace.pid) 

Est-ce que le –oknodo serait nécessaire dans CentOS env (le file swap n'est-il vraiment qu'un démarrage)? "oknodo – Retourne l'état de sortie 0 au lieu de 1 si aucune action n'est (serait) prise".

Je ne vois pas le silence dans daemon ou killproc , je ne peux pas imaginer que cela importerait cependant.

L'original start-stop-daemon pour swapspace semble avoir à la fois -p et –pidfile (la même command). Cela doit être une erreur.

Est-ce que j'ai manqué quelque chose? Une idée de pourquoi daemon ne crée pas le file pid?

Il semble que daemon fonctionnera pour la command de démarrage et killproc est utilisé pour la command stop.

Ce ne sont que des fonctions shell définies dans /etc/rc.d/init.d/functions . Ils ne sont pas aussi sophistiqués que start-stop-daemon , mais ils sont à peu près ce que vous devez travailler avec CentOS.

Est-ce que le --oknodo serait nécessaire dans CentOS env (le file swap n'est-il vraiment qu'un démarrage)?

daemon et killproc n'ont pas cette option, donc vous ne le faites pas. daemon va sortir avec succès si le process est déjà en cours d'exécution, donc ça va. Je ne suis pas sûr de savoir comment killproc va se comporter – vous devrez peut-être vérifier explicitement si le process est en cours d'exécution avant de l'appeler.

L'original start-stop-daemon pour swapspace semble avoir à la fois -p et --pidfile (la même command). Cela doit être une erreur.

Ce n'est pas: --pidfile est un paramètre pour start-stop-daemon , alors que -p est un paramètre pour swapspace . Le -- sépare les parameters de start-stop-daemon des parameters au process en cours de démarrage.

Est-ce que j'ai manqué quelque chose? Une idée de pourquoi daemon ne crée pas le file pid?

Vous devez passer -p dans swapspace , comme ceci:

 daemon --pidfile /var/run/swapspace.pid /usr/sbin/swapspace -p