Nessuna uscita dal comando di avvio / arresto / riavvio del servizio


10

Ho appena installato Ubuntu 16.04 LTS e l'ho scoperto quando corro

usr@server:~$ sudo service <servicename> restart
usr@server:~$

Il servizio viene riavviato (posso vedere lo stato con service <servicename> status), ma la shell torna direttamente alla riga di comando senza il previsto:

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

Hai dato un'occhiata ai registri per vedere se ci sono informazioni che potrebbero aiutare a diagnosticare il problema? Dovrebbe essere in / var / log /
Diego il

2
Non ci sono problemi con il servizio stesso. È il prompt dei comandi che ritorna senza output che mi sconcerta. Succede con ogni servizio. Il comando esegue ciò che è previsto (avvio / arresto / riavvio del servizio), ma non viene generato alcun output
Eduardo Coria,

Risposte:


9

Non dovresti aspettarti questo risultato.

Per cominciare, Ubuntu non si comportava in questo modo nelle versioni precedenti. Ubuntu è stato un sistema upstart per poco meno di un decennio e il comportamento del servicecomando su Ubuntu non è stato per tutti quegli anni simile a quello che ti aspetti. Si può vedere il comportamento iniziale del servicecomando nell'immagine in Come posso ottenere il comando di servizio per stampare l'output in 15.10? .

La risposta è praticamente la stessa per te per le persone con Ubuntu versione 15.10 dell'anno scorso:

Stai utilizzando Ubuntu versione 16.10, un sistema operativo systemd. La gestione dei servizi di sistema non viene più eseguita da upstart (o da qualsiasi utility lo abbia fatto su qualsiasi sistema operativo non Ubuntu che avevi prima). Viene eseguito da systemd.

Il servicecomando può essere lo stesso ... ma il servicecomando Debian / Ubuntu è uno script di shell che tenta di rilevare automaticamente se upstart o systemd è il gestore del servizio di sistema in esecuzione ed esegue gli attuali comandi di gestione del servizio nativo per upstart e systemd. Esegue due percorsi di codice praticamente completamente diversi per upstart e per systemd.

comandi nativi di gestione del servizio di upstart sono initctl start, initctl stop, initctl statuse così via. Quei messaggi stampati mentre vanno.

comandi nativi di gestione del servizio di systemd sono systemctl start, systemctl stop, systemctl statuse così via. Quelli non stampano alcun output mentre funzionano.

Ulteriori letture


1
"Non dovresti aspettarti questo risultato." non è un ottimo posto per iniziare una risposta. In pratica stai dicendo "La tua opinione è sbagliata". Quello che intendevi dire, penso, è "questo non è possibile con systemd". Durante i primi giorni, l'output DID di Ubuntu ... è nella domanda "Come posso ottenere il comando di servizio per stampare l'output in 15.10". Prima del 15.10, Ubuntu utilizzava upstart e upstart (come sysvinit) era dettagliato. Quindi, per favore, non dire "È stato così per un decennio". No. È cambiato nel 15.10. Systemd non è prolisso e questo è stato super irritante da quando le distribuzioni hanno iniziato a implementarlo.
bobpaul

L'interrogatore ti ha detto chiaramente cosa si aspettava xe e l'output di avvio non assomiglia a quello. Sei confuso o non hai letto la domanda.
JdeBP,

0

In realtà non è necessario un output OK. Nessuna uscita significa OK. Quando un servizio non si avvia correttamente Ubuntu ti mostra qualcosa del genere:

Il processo per php5.6-fpm.service non è riuscito perché il processo di controllo è terminato con un codice di errore. Vedere "status systemctl php5.6-fpm.service" e "journalctl -xe" per i dettagli.

Nel mio caso questo esempio era una configurazione errata sul mio php-fpm.conf che disabilitava l'avvio del servizio. Dopo aver seguito le istruzioni ho ordinato cosa stava causando l'errore.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.