Forum Linux.redhat Un de mes service ne s'arrete pas a l'extinction du serveur

Posté par .
Tags : aucun
1
2
juin
2010
Bonjour a tous.

Petit probleme de service qui ne s'arrete pas lors d'un appel d'arret par la commande shutdown, reboot ou poweroff.

Ce service demarre des environnements et des bases de donnée et devrait fermer ces environnements ainsi que les base a l'arret.

Lors du démarrage de la machine, pas de soucis, le service démarre mais lors de l'arret je ne vois pas mon service s'arreter.
C'est assez genant de voir les bases de donner se stopeer brutalement.

Voici mon script /etc/init.d/nom_service

# chkconfig: 345 99 20
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
case "$1" in
start)
PROSERVE >/tmp/bases.log 2>&1
;;
stop)
PROSHUT F
;;
esac


La commande chkconfig m'a généré les liens symboliques dans /etc/rc#.d.

un chkconfig --list nom_service me donne ceci

mon_service 0:arrêt 1:arrêt 2:arrêt 3:marche 4:arrêt 5:arrêt 6:arrêt

lorsque je fais /etc/rc0.d/mon_service stop, le service s'arrete.
Je me demande donc ce qui me manque pour que le service s'arrete correctement lorsque je fais un shutdown ou un poweroff.

a noter que je fais tourner mon redhat sur VMWare.


Merci de vos reponses.
  • # Quelques pistes...

    Posté par (page perso) . Évalué à 2.

    Hello,

    Je suivrais les pistes suivantes :

    1) Ajouter du log a l'arrêt !!!!!
    stop)
    PROSHUT F >/tmp/bases_stop.log 2>&1

    pour capturer les messages d'erreur... typiquement si elle refuse de s'arrêter a cause d'une connexion persistante...

    2) Variable d'environnement ?

    Le chemin vers ton prochut qui est peut etre defini dans ton .profile...
    Si tu as ajouté du log tu auras un classico command not found....

    3) Vérifier les dépendances / ordre dans les rcX.d ?

    zelionix
    Swirl community member..

    Fuse : j'en Use et Abuse !

    • [^] # Re: Quelques pistes...

      Posté par . Évalué à 1.

      Tout d'abord, merci pour ta reponse.

      J'ai suivi ton conseil puis jai redémarré la machine.
      Au reboot; le service se demarre mais le fichier /tmp/stop_bases.log est inexistant.

      Donc il ne prend pas en compte l'arret du service.

      Que veux tu dire par verifier les dependances et ordres dans les rcX.d?

      merci d'avance.
      • [^] # Re: Quelques pistes...

        Posté par (page perso) . Évalué à 1.

        En ce qui concerne les dépendances c'est dans le cas ou ton proc a besoin d'un autre truc pour s'arrêter...
        ex : tu stop nfs, puis ton application, mais elle a des bouts sur le nfs ! nuuuuut pas bien ! :o)

        Je dois avouer que c'est bizarre ton affaire...

        Tente un truc cochon temporairement pour voir :
        Ajoute le /etc/init.d/mon_service stop en dur dans la fonction stop d'un autre service... Evite un truc critique pour le system einh !
        Fait ca dans cups par exemple ...

        Fuse : j'en Use et Abuse !

    • [^] # Re: Quelques pistes...

      Posté par . Évalué à 3.

      Question stupide, le contenu du répertoire /tmp est pas supprimé lors de l'extinction ?
  • # /var/lock/subsys/mon_service ?

    Posté par (page perso) . Évalué à 4.

    Bonjour,

    apparemment, ton service tourne sur une RHEL ou assimilée ?

    Vérifie que ton script init.d/mon_service crée bien le fichier /var/lock/subsys/mon_service au démarrage du service (il faut aussi le supprimer au stop). En effet, si ce fichier n'existe pas, rc ne fera pas appel à "init.d/mon_service stop" à l'arrêt de la machine...

    Ce petit problème arrive souvent quand on importe un script init.d générique sur une RHEL, et qu'on ne pense pas à gérer /var/lock/subsys... Tu peux consulter les autres scripts dans init.d sur ta machine et t'en inspirer (par exemple /etc/init.d/crond).
    • [^] # Re: /var/lock/subsys/mon_service ?

      Posté par . Évalué à 3.

      Effectivement c'etait ca !
      Ajout d'un temoin dans mon script comme /etc/init.d/crond et le service s'arrete au reboot de la machine.

      Probleme resolu.
      Mon service tourne effectivement sur une RHEL

      Encore merci de ton aide :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.