Dapatkah saya membuat status layanan systemd menunjukkan setelah memulai atau menghentikan layanan?


8

Saya mencoba membuat systemd melakukan apa yang akan dilakukan skrip init.d, menunjukkan status layanan secara otomatis setelah secara manual diberi perintah untuk memulai atau berhenti. Apakah ini entah bagaimana mungkin?

Systemd sayangnya muncul segera kembali karena berjalan di latar belakang dan kemudian Anda harus melakukan perintah kedua untuk menunjukkan status, mulai atau berhenti mungkin berhasil atau tidak, systemd tidak akan memberi tahu Anda kecuali Anda bertanya dan meninggalkan Anda dengan kebodohan.

yaitu. Saya sedang berusaha mendapatkan

service nginx status

untuk berjalan secara otomatis setelah saya melakukan

service nginx start

atau

service nginx restart

(atau di sistem yang rusak otak, systemctl start nginx.service)


1
Saya menggunakan perintah "kerusakan otak" (Saya suka mereka!). Mereka sebenarnya tidak mengatakan apa-apa ketika semuanya baik-baik saja tetapi akan memberi tahu Anda ketika sesuatu gagal. Setidaknya begitulah pada openSUSE 13.1. Apakah Anda yakin mereka "diam" ketika gagal? Apakah kamu sudah mencoba systemctl start nginx.service && echo SUCCESS || echo failure?
Huygens

2
@ Huygens tidak mengandalkan systemd untuk dapat mendeteksi semua gagal, pasti ada yang gagal atau peringatan. Proses dimulai di latar belakang dan systemd keluar dari kontrol, itu sama sekali tidak seperti init.d Saya bisa melihat bahwa terjadi secara konsisten dengan pembuatan file PID gagal. Mendapatkan status setelah memulai atau memulai ulang secara manual adalah mutlak harus dengan systemd (dan titik pertanyaan saya).
ck_

terima kasih atas klarifikasi, saya belajar sesuatu di sini! Saya menanti jawaban untuk pertanyaan ini!
Huygens

Sintaksdead braindead adalah layanan satu karena tidak seperti sintaks systemd yang jauh lebih baik itu tidak memungkinkan Anda untuk beroperasi pada beberapa layanan sekaligus: systemctl stop service1 service2 service3
god

1
Jika Anda masih melihat ketidakkonsistenan yang sama saat memeriksa status keluar systemctlseperti yang telah disarankan oleh @Huygens, maka masalahnya mungkin yang nginx.servicemulai berhasil tetapi macet setelahnya. Coba periksa jurnal atau dalam log Nginx.
Amir

Jawaban:


1

Tidak ada perintah bawaan untuk kasus penggunaan Anda sehingga Anda harus membuat alias untuk shell favorit Anda atau pembungkus skrip sepele.


0

Untuk membuat systemd lebih "verbose", tambahkan / batalkan komentar pada baris berikut di dalam Anda /etc/systemd/journald.conflalu reboot:

ForwardToConsole=yes
MaxLevelConsole=debug
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.