Service komutunun ayrıntı düzeyini nasıl değiştirebilirim?


13

Kali 2 Linux kullanıyorum. Apache gibi bir hizmeti başlatmak için systemctlveya servicekomutunu kullanıyorum . Kali'nin önceki sürümünde komut, bir hizmeti başlatırken aslında bir "OK" mesajı yazdırır; ancak bu sürümde komut satırına hiçbir şey söylemeden geri döner.

Ayrıntı düzeyini değiştirmenin veya önceki sürümün yaptığı gibi davranmasını sağlamanın bir yolu var mı?


Genellikle başarı anlamına gelen bir mesaj olmadığında.
Svetlin Tonchev

Yanıtlar:


1

service(Genellikle komut /usr/sbin/) günümüzde genellikle sadece bir bashçağırır kabuk komut systemctlkomutu. İstediğiniz çıktıyı vermek için kolayca değiştirebilmeniz gerekir.


0

journaldTüm mevcut kaynaklardan veri toplayan ve bunları kolay ve dinamik manipülasyon için ikili biçimde saklayan merkezi bir arka plan programıdır. Sorunuzun cevabı olarak, genellikle "Tamam" anlamına gelen bir çıktı journalctlolmadığında ve günlükleri kontrol etmek için kullandığınızdan emin olmak istediğinizde şunu söyleyebilirim .


Biliyorum, ama ok mesajının alışkın olduğum hissini seviyorum ve pop'a ihtiyacım var
RL.AdmiralX

Hizmet başlasın ya da başlamasın çıktı yok. Bir takma ad eklemek için cazipim: hizmet $ 1 başlangıç; hizmet $ 1 durumu
Lenne

-1

echo $?1 veya 0 durumunu görüntülemek için komuta bir ekleyebilirsiniz .

&&Önceki başarılı olursa sadece ikinci komutu çalıştırarak etkisine sahiptir.

systemctl start mysqld.service && echo $? 

Bu bir durum gösterecektir:

başarısız olursa, neden başarısız olduğunu bildiren bir mesaj yazdırır

başarılı olursa, yalnızca 0

Aklınıza k 0 = 0k ekleyebilirsiniz

Bu ucuz bir çözümdür ancak systemctl aramaları yaptıktan sonra size iyi bir geri dönüş sağlayacaktır.


2
&& echo $?yapılacak tuhaf bir şey gibi görünüyor; yazdırır 0ya da hiçbir şey yapmaz. Siz de diyebilirsiniz && echo OKya && echo Success.
G-Man

1
Hayır yankı gibi değil. Son komutun gerçek sonucunu yansıtır. Eğer 0 ise başarılı oldu. Başarılı değilse 1 olur.
Mark Stewart

1
Ama diyorsun && echo $?! (First) komutu başarısız olursa, kabuk ikinci komutu (ondan sonra gelen &&) çalıştırmaz  ve bu nedenle hiçbir şey yazdırmaz!
G-Man

1
Başarısız olduğunda hayır, hizmet başlamadığında systemctl'in gönderdiği mesajı yazdırır. Sadece kendiniz deneyin, kullandığım işe yarıyor. Örneğin (RHEL başarısız veya başarılı çıktı verir gibi hizmet çağrıları kullanmak zorundayım) Bir hizmet başarısız olduğunda standart systemctl başarısız çıktı alırsınız Hizmet başladığında 0 alırsınız 1 olur ikinci ifadesi koştu (ile test edebilirsiniz; yerine; &&) Servis çalışır:
Mark Stewart

2
Ben işe yaramadı demedim. Bunun tam olarak aynı şekilde && echo $?çalıştığını söyledim - “ ”, sizden daha sofistike bir şey yapıyormuş gibi görünmesini sağlıyor - ve karmaşık olmayan bir şey yapacağınız sürece , siz de yapabilirsiniz , sorunun sorduğu sonucu verecektir. …………………………………………  Tam olarak aynı mı? Hayır tabii değil;  bir rakam, bir rakam,  iki karakter, (alfabetik) harfler. Duh. … (Devam ediyor)&& echo 0$?&& echo 0&& echo OKecho 0echo OK0OK
G-Man
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.