GNU/Linux >> Tutoriels Linux >  >> Linux

Upstart :démarrer le service après un processus non-upstart

Vous avez plusieurs options :

1) faire en sorte que mysql informe Upstart qu'il a démarré en émettant un événement

initctl emit mysql-started " ou similaire.

Cela pourrait être géré en ajoutant le initctl appel à /etc/init.d/mysql .

2) Désactivez mysql à partir des niveaux d'exécution SysV normaux et créez un travail Upstart wrapper qui le démarre (cela ne gère pas l'arrêt - juste un exemple):

cat >>/etc/init/mysql-sysv.conf<<EOT
  # wait for SysV job to finish
  start on stopped rc
  exec /etc/init.d/mysql start
EOT

Ensuite, faites votre travail "start on started mysql-sysv ".

Le problème ici est que vous rencontrerez des problèmes si quelqu'un (ou un outil système automatiquement) rajoute le /etc/rc?.d liens vers le /etc/init.d/mysql d'origine script de service. De plus, vous pouvez constater que mysql n'est réellement prêt qu'un certain temps après son pid principal a démarré. Les bases de données sont problématiques car elles peuvent prendre un certain temps pour être "en ligne" même après leur démarrage (relecture du journal des transactions, etc.).

3) Créez une tâche de démarrage ("serveur") qui "démarre sur rc arrêté" (c'est-à-dire démarre lorsque toutes les tâches SysV ont prétendu être terminées), puis interroge en attendant que mysql soit prêt, puis se termine. Faites en sorte que votre travail "commence sur un serveur arrêté".

4) Convertissez mysql en un travail Upstart (la meilleure option). Il y a un point de départ pour une configuration mysql parvenue ici :https://github.com/devo-ps/init-scripts/tree/master/mysql/ubuntu


Linux
  1. Comment arrêter un processus dans MySQL

  2. Linux - Modifier /proc/pid/environ après le démarrage du processus ?

  3. Démarrer un processus sur un autre téléscripteur ?

  4. Impossible de démarrer Thesql Community Server (5.7) ?

  5. Le service MongoDB ne démarre pas après la configuration initiale

Comment démarrer, arrêter ou redémarrer Apache

Comment démarrer, arrêter ou redémarrer Nginx

Ubuntu - Démarrer, arrêter, redémarrer les services

Impossible de démarrer le service postgresql sur CentOS 7

mysql ne démarre pas après avoir déplacé le répertoire de données

Comment démarrer automatiquement mysql après le redémarrage du serveur (CentOS + autres distributions) ?