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 ze_lionix (site web personnel) . Évalué à 2.
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 waaalex . Évalué à 1.
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 ze_lionix (site web personnel) . Évalué à 1.
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 Nopenope . Évalué à 3.
# /var/lock/subsys/mon_service ?
Posté par Skanx (site web personnel) . Évalué à 4.
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 waaalex . Évalué à 3.
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 à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.