Table des matières
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 <ACTION> <Nom_du_service>
<ACTION> 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 |
<Nom_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/<Nom_du_service>.conf /etc/init/<Nom_du_service>.conf.noexecAu 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/<Nom_du_service>.conf.noexec /etc/init/<Nom_du_service>.confAu 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
.