====== Linux ======
===== Gestion des services =====
\\
==== upstart ====
^Référence |[[https://doc.ubuntu-fr.org/upstart]] |
**Upstart** est un successeur des scripts system V et se base sur les événements.\\
Il fonctionne de manière asynchrone : de la même manière qu'il gère le lancement et l'arrêt des services au démarrage et à l'arrêt de la machine, il les supervise pendant que le système tourne.\\
\\
=== Gestion basique d'un service ===
L'outil de gestion des services dans **upstart** s'appelle ''initctl''.
$ sudo initctl
//// sera la commande que l'on souhaite appliquer au service :
^start |démarrer le service |
^stop |arrêter le service |
^restart |relancer le service |
^reload |recharger le service |
^status |connaitre l'état du service |
//// est le nom du service visé.
Quelle que soit l'action menée sur un service, au prochain démarrage de la machine celui-ci devrait retrouver le status qui lui a été défini par défaut.
\\
\\
=== Lister les services démarrés ===
* Liste des services Upstart accompagnés de leur état ainsi que leur pid :
$ initctl list
# ou
$ initctl list | sort
\\
=== Modifier l'exécution d'un service ===
Contrairement aux scripts //system V// qui utilisent l'outil ''update-rc.d'', **Upstart** utilise des fichiers de configuration correspondant aux différents services à manipuler.\\
Ces fichiers de configuration, qui se trouve dans ''/etc/init/'', permettent d'indiquer les conditions d'activation ou désactivation d'un service ou d'y insérer ses propres scripts.
* Désactiver un service de tous les runlevels
//il suffit de renommer le fichier de configuration.//
# exemple :
$ sudo mv /etc/init/.conf /etc/init/.conf.noexec
//Au prochain redémarrage du système, le service correspondant ne sera plus lancé.//
* Réactiver un service
//on fait la manipulation inverse//
$ sudo mv /etc/init/.conf.noexec /etc/init/.conf
//Au prochain redémarrage du système, le service correspondant sera lancé automatiquement.//
\\
Néanmoins si vous souhaitez modifier l'état d'un service selon certaines conditions, vous devrez modifier le fichier ''/etc/init/NomService.conf''.
\\
----