Tidak ada output dari perintah start / stop / restart layanan

10

Saya baru saja menginstal Ubuntu 16.04 LTS dan menemukan itu ketika saya jalankan

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

Layanan di-restart (saya dapat melihat statusnya service <servicename> status), tetapi shell langsung kembali ke baris perintah tanpa yang diharapkan:

* Stopping <servicename>     [ OK ]
* Starting <servicename>     [ OK ]
Eduardo Coria
sumber
Apakah Anda melihat log untuk melihat apakah ada informasi yang dapat membantu mendiagnosis masalah? Seharusnya di / var / log /
Diego
2
Tidak ada masalah dengan layanan itu sendiri. Perintah prompt kembali tanpa hasil yang membuat saya bingung. Itu terjadi pada setiap layanan. Perintah melakukan apa yang diharapkan (mulai / hentikan / restart layanan), tetapi tidak ada output
Eduardo Coria

Jawaban:

9

Anda seharusnya tidak mengharapkan hasil seperti itu.

Sebagai permulaan, Ubuntu tidak berlaku seperti ini di versi sebelumnya. Ubuntu adalah sistem pemula untuk hanya di bawah satu dekade, dan perilaku serviceperintah pada Ubuntu selama bertahun-tahun tidak menyerupai apa yang Anda harapkan. Orang dapat melihat perilaku pemula dari serviceperintah pada gambar di Bagaimana cara mendapatkan perintah layanan untuk mencetak output di 15.10? .

Jawabannya hampir sama untuk Anda seperti untuk orang-orang dengan Ubuntu versi 15.10 tahun lalu:

Anda menggunakan Ubuntu versi 16.10, sistem operasi systemd. Manajemen layanan sistem Anda tidak lagi dilakukan oleh pemula (atau utilitas apa pun yang melakukannya pada sistem operasi non-Ubuntu apa pun yang Anda miliki sebelumnya). Ini dilakukan oleh systemd.

The serviceperintah mungkin sama ... tapi Debian / Ubuntu serviceperintah shell script yang mencoba untuk auto-mendeteksi apakah pemula atau systemd adalah manajer layanan sistem berjalan, dan menjalankan perintah manajemen layanan asli yang sebenarnya untuk pemula dan systemd. Ini mengeksekusi dua jalur kode yang sangat berbeda untuk pemula dan untuk systemd.

perintah manajemen layanan asli kaya baru ini adalah initctl start, initctl stop, initctl statusdan sebagainya. Mereka mencetak pesan saat mereka pergi.

perintah manajemen layanan asli systemd ini adalah systemctl start, systemctl stop, systemctl statusdan sebagainya. Mereka tidak mencetak output saat beroperasi.

Bacaan lebih lanjut

JdeBP
sumber
1
"Kamu seharusnya tidak mengharapkan hasil seperti itu." bukan tempat yang bagus untuk memulai jawaban. Anda pada dasarnya mengatakan, "Pendapat Anda salah". Apa yang ingin Anda katakan, saya pikir, adalah "ini tidak mungkin dengan systemd". Selama hari-hari awal, Ubuntu DID output ... itu dalam pertanyaan untuk "Bagaimana cara mendapatkan perintah layanan untuk mencetak output di 15.10". Sebelum 15.10, Ubuntu menggunakan pemula dan pemula (seperti sysvinit) adalah verbose. Jadi tolong jangan katakan, "Sudah seperti ini selama satu dekade". Itu belum. Itu berubah di 15.10. Systemd bukan verbose dan itu sudah sangat menjengkelkan sejak distro mulai menyebarkannya.
bobpaul
Penanya cukup jelas memberi tahu Anda apa yang Anda harapkan, dan output pemula tidak menyerupai itu. Anda bingung, atau tidak membaca pertanyaan.
JdeBP
0

Sebenarnya Anda tidak perlu output OK. Tidak ada output berarti OK. Ketika sebuah layanan tidak berjalan dengan benar, Ubuntu memperlihatkan sesuatu seperti ini:

Pekerjaan untuk php5.6-fpm.service gagal karena proses kontrol keluar dengan kode kesalahan. Lihat "status sistemctl php5.6-fpm.service" dan "journalctl -xe" untuk detailnya.

Dalam kasus saya contoh ini adalah kesalahan konfigurasi pada php-fpm.conf saya yang menonaktifkan layanan untuk memulai. Setelah mengikuti instruksi saya mengurutkan apa yang menyebabkan kesalahan.

Filipe Marques
sumber