Sadece @ # $ ing çalışmasını sağlayın
- Dmesg'in çıktısını hemen yazdırmak istiyorsunuz.
- Dmesg, çekirdek halkası tamponunu yazdırıyor (bkz.
man dmesg
)
- Çekirdek halkası tamponu özel bir proc dosyasıdır
/proc/kmsg
(bkz. man proc
)
/proc/kmsg
Doğrudan oku , yani cat /proc/kmsg
.
Şimdi, dost canlısı kullanım kılavuzunu okursanız /proc/kmsg
, bir seferde yalnızca bir kullanıcının (ayrıcalıklı olması gereken) okumasına izin vermesi sizi sert bir şekilde uyaracaktır . Yaptığınız her syslog uygulaması bunu yapmalı ve muhtemelen birlikte çalışıyor olmalıdır dmesg
. Bilmiyorum, burada ligden çıktım, sadece el kitabını değiştirerek. Yani bu "sadece% # ing iş yap" yolu olsa da, bir sonraki çift yöntemlerini düşünün.
Man sayfası onaylandı: watch + dmesg
Systemd init * 'e sahip Arch gnu / linux'da dmesg.log çok sık yazılmıyor, belki de hiç yazılmıyor mu? Çekirdek günlük arabelleğini okuduğum en iyi yol sürekli watch
. Bunun gibi bir şey sizi başlatmalı (terminalinize kaç adet hat sığacak şekilde ayarlayın):
watch 'dmesg | tail -50'
izle + dmesg + daemon + kuyruk-f
Daha karmaşık bir çözüm, daha sonra yapabileceğiniz dosyaya dmesg çıktısı yazmak için watch'i kullanabilir tail -f
. Muhtemelen bunun bir daemon olarak çalışmasını isterdin. Uygun bir arka plan programı ayrıca günlükleri döndürür ve döndürür. Aşağıdaki bash kodu denenmemiş, işe yaramaz ve sadece bir fikir iletmek için tasarlanmıştır. @ Brooks Moses'in cevabı çalışan bir versiyona sahip .
watch 'dmesg >> /var/log/dmesg.log | tail -1'
* teğet, çünkü bu bir osx sorusudur, ancak sistemdeyken, uğraşmayın dmesg
, kullanın journalctl -xf
(belki -n 100
de önceki 100 satırı göstermek için)