Bagaimana cara mengubah verbositas dari perintah layanan?

13

Saya menjalankan Kali 2 Linux. Saya menggunakan perintah systemctlatau serviceuntuk memulai layanan seperti Apache. Pada Kali versi sebelumnya, perintah tersebut benar-benar mencetak pesan "OK" saat memulai layanan; tetapi pada versi ini hanya turun kembali ke baris perintah tidak mengatakan apa-apa.

Apakah ada cara untuk mengubah verbositas atau membuatnya berperilaku seperti versi sebelumnya?

RL.AdmiralX
sumber
Yah biasanya ketika tidak ada pesan itu berarti sukses.
Svetlin Tonchev

Jawaban:

1

The serviceperintah (biasanya pada /usr/sbin/) adalah saat ini biasanya hanya bashshell script yang memanggil systemctlperintah. Anda harus dapat dengan mudah memodifikasinya untuk memberikan output yang Anda inginkan.

fpmurphy
sumber
0

journaldDaemon terpusat yang mengumpulkan data dari semua sumber yang tersedia dan menyimpannya dalam format biner untuk manipulasi yang mudah dan dinamis. Sebagai jawaban dari pertanyaan Anda, saya akan mengatakan bahwa biasanya ketika tidak ada output yang berarti "OK", dan jika Anda ingin memastikan digunakan journalctluntuk memeriksa log.

Svetlin Tonchev
sumber
Saya tahu, tapi saya suka perasaan pesan ok sudah biasa, dan saya perlu itu muncul
RL.AdmiralX
Apakah layanan dimulai atau tidak, tidak ada output. Saya tergoda untuk menambahkan alias: layanan $ 1 mulai; status layanan $ 1
Lenne
-1

Anda dapat menambahkan sebuah echo $?ke perintah untuk menampilkan status 1 atau 0.

The &&memiliki efek hanya menjalankan perintah kedua jika sebelumnya berhasil.

systemctl start mysqld.service && echo $? 

Ini akan menunjukkan status:

jika gagal itu akan mencetak pesan mengapa gagal

jika berhasil Anda hanya akan melihat 0

Anda dapat menambahkan k 0 = 0k dalam pikiran Anda

Ini adalah solusi murah tetapi akan memberi Anda pengembalian yang ok setelah panggilan systemctl Anda.

Mark Stewart
sumber
2
&& echo $?sepertinya hal yang aneh untuk dilakukan; itu akan mencetak 0atau tidak sama sekali. Anda mungkin juga mengatakan && echo OKatau && echo Success.
G-Man Mengatakan 'Reinstate Monica'
1
nggak itu tidak seperti gema ok. Ini menggemakan hasil aktual dari perintah terakhir. Jika 0 maka berhasil. Jika tidak berhasil itu akan menjadi 1.
Mark Stewart
1
Tapi maksudmu && echo $?! Jika perintah (pertama) gagal, shell tidak akan menjalankan perintah kedua (yang setelah  &&), sehingga tidak akan mencetak apa pun!
G-Man Mengatakan 'Reinstate Monica'
1
Tidak ketika gagal itu akan mencetak pesan yang dikirim systemctl ketika layanan tidak memulai. Coba saja sendiri itu berfungsi saya sudah menggunakannya. Sebagai contoh (saya harus menggunakan panggilan layanan karena RHEL tidak menghasilkan gagal atau berhasil) Ketika layanan gagal Anda mendapatkan standar systemctl gagal keluaran Ketika layanan dimulai Anda mendapatkan 0 Akan menjadi 1 pernyataan berjalan kedua (dapat menguji dengan; bukannya &&) Layanan berjalan:
Mark Stewart
2
Saya tidak mengatakan bahwa itu tidak berhasil. Saya mengatakan bahwa && echo $?bekerja persis sama dengan && echo 0- " $?" membuatnya tampak seperti Anda melakukan sesuatu yang lebih canggih dari Anda - dan, selama Anda akan melakukan sesuatu yang tidak canggih seperti && echo 0, Anda mungkin juga melakukannya && echo OK, yang akan memberikan hasil yang ditanyakan oleh pertanyaan itu. ... ... ... ... ... ... ... ... ... ... ... ... ... ... Apakah  echo 0persis sama echo OK? Tidak, tentu saja tidak; 0 adalah satu karakter, yang merupakan digit, sedangkan OK dua karakter, yang merupakan huruf (alfabet). Duh. … (Lanjutan)
G-Man Mengatakan 'Reinstate Monica'