Donc, je travaille sur un upstart init script pour mysql. Ça devrait être trivial, non ? Mon stanza d'arrêt ressemble à :
kill timeout 30
stop on runlevel [016]
I shutdown now -r
et mysql me dit que mes tables MyISAM ont été détruites, comme je l'avais prévu. kill -9
de mon processus mysql. Boo. Upstart ne semble pas attendre que mysql se termine avant de redémarrer. Une recherche sur Google m'a permis de trouver ce lien suggérant que je le fasse, à la place :
stop on starting rc RUNLEVEL=[016]
et en effet, cela semble régler le problème.
Mais : WFT ? Essentiellement, je veux m'assurer que mysql est arrêté avant d'essayer de démonter les systèmes de fichiers locaux. Est-ce la bonne façon de procéder ? Pourquoi mon stop on runlevel
La stanza n'attend pas que mysql s'arrête avant de changer de niveau d'exécution ?
Et : est-ce que c'est documenté quelque part ?