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/kmsgDoğ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 100de önceki 100 satırı göstermek için)