12 votes

Aucune sortie de la commande de démarrage/arrêt/redémarrage du service

Je viens d'installer Ubuntu 16.04 LTS et j'ai constaté que lorsque j'exécute

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 l'attendu :

* Stopping <servicename>     [ OK ]
* Starting <servicename>     [ OK ]

9voto

JdeBP Points 3787

Vous ne devriez pas vous attendre à un tel résultat.

Pour commencer, Ubuntu ne se comportait pas de cette façon dans les versions précédentes. Ubuntu a été un système novateur pendant un peu moins d'une décennie, et le comportement de l'application service sur Ubuntu ne ressemble pas, depuis toutes ces années, à ce que vous attendez. On peut voir le comportement upstart de la commande service dans l'image dans Comment faire pour que la commande de service imprime la sortie dans la 15.10 ? .

La réponse est à peu près la même pour vous que pour les personnes qui ont utilisé la version 15.10 d'Ubuntu l'année dernière :

Vous utilisez Ubuntu version 16.10, un système d'exploitation systemd. La gestion de vos services système n'est plus assurée par upstart (ou l'utilitaire qui le faisait sur le système d'exploitation non Ubuntu que vous aviez auparavant). Elle est effectuée par systemd.

El service est peut-être la même mais la commande Debian/Ubuntu service est une Shell Shell qui essaie de détecter automatiquement si upstart ou systemd est le gestionnaire de services 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 presque entièrement différents pour upstart et pour systemd.

Les commandes de gestion des services natives de upstart sont les suivantes initctl start , initctl stop , initctl status et ainsi de suite. Ceux-ci impriment des messages au fur et à mesure.

Les commandes natives de gestion des services de systemd sont les suivantes systemctl start , systemctl stop , systemctl status et ainsi de suite. Ceux-ci n'impriment aucune sortie lorsqu'ils fonctionnent.

Autres lectures

0voto

Filipe Marques Points 1

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 de mon php-fpm.conf qui empêchait le service de démarrer. Après avoir suivi les instructions, j'ai trouvé la cause de l'erreur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X