Je viens d'installer Ubuntu 16.04 LTS et j'ai constaté que lorsque je lance
usr@server:~$ Sudo service <servicename> restart
usr@server:~$
Le service est redémarré (je peux voir le statut avec service <servicename> status
), mais le shell retourne directement à la ligne de commande sans les informations suivantes:
* Stopping <servicename> [ OK ]
* Starting <servicename> [ OK ]
Pour commencer, Ubuntu ne s'est pas comporté de la sorte dans les versions précédentes. Ubuntu était un système moderne pendant près de 10 ans, et le comportement de la commande service
sur Ubuntu n’a pas ressemblé à ce que vous attendiez. On peut voir le comportement upstart de la commande service
dans l'image dans Comment obtenir une commande de service pour imprimer le résultat en 15.10? .
La réponse est à peu près la même pour vous que pour les utilisateurs de Ubuntu version 15.10 l’année dernière:
Vous utilisez Ubuntu version 16.10, un système d'exploitation systemd. La gestion des services de votre système n’est plus effectuée par upstart (ni par aucun utilitaire ne l’a fait sur n’importe quel système d’exploitation autre que Ubuntu que vous aviez auparavant). Il est effectué par systemd.
La commande service
peut être identique… mais la commande Debian/Ubuntu service
est un script Shell qui tente de détecter automatiquement si upstart ou systemd est le gestionnaire de services du système en cours d'exécution et d'exécuter les commandes de gestion de services natives réelles pour upstart et systemd. Il exécute deux chemins de code très différents pour upstart et pour systemd.
les commandes de gestion de services natives de upstart sont initctl start
, initctl stop
, initctl status
et ainsi de suite. Ces messages imprimés comme ils vont.
les commandes de gestion de services natives de systemd sont systemctl start
, systemctl stop
, systemctl status
et ainsi de suite. Ceux-ci n'impriment aucune sortie lorsqu'ils fonctionnent.
En fait, vous n’avez pas besoin d’une sortie OK. Pas de sortie signifie OK. Lorsqu'un service ne démarre pas correctement, Ubuntu vous montre quelque chose comme ceci:
La tâche pour php5.6-fpm.service a échoué car le processus de contrôle s'est terminé avec un code d'erreur. Voir "systemctl status php5.6-fpm.service" et "journalctl -xe" pour plus de détails.
Dans mon cas, cet exemple était une mauvaise configuration sur mon php-fpm.conf qui empêchait le service de démarrer. Après avoir suivi les instructions, j'ai trié la cause de l'erreur.