बस इसे @ # $% आईएनजी काम करें
- आप तुरंत, तुरंत, dmesg का आउटपुट प्रिंट करना चाहते हैं
- Dmesg कर्नेल रिंग बफर प्रिंट कर रहा है (देखें
man dmesg
)
- कर्नेल रिंग बफर एक विशेष प्रोक फ़ाइल है,
/proc/kmsg
(देखें man proc
)
/proc/kmsg
सीधे पढ़िए , यानी cat /proc/kmsg
।
अब, यदि आप फ्रेंडली प्रोक मैनुअल पढ़ते हैं, तो यह आपको /proc/kmsg
एक समय में केवल एक उपयोगकर्ता (जिसे विशेषाधिकार प्राप्त होना चाहिए) को पढ़ने देने की कड़ी चेतावनी देगा । आपके पास जो भी syslog कार्यान्वयन है वह ऐसा करना चाहिए, और संभवतः इसके साथ काम करता है dmesg
। मुझे पता नहीं, मैं अपने लीग से बाहर हूं, बस मैनुअल को पैराफ्रेस कर रहा हूं। तो जबकि यह "बस इसे बनाने के लिए # $% आईएनजी काम" तरीका है, पहले युगल तरीकों पर विचार करें।
मैन पेज स्वीकृत: घड़ी + dmesg
Arch gnu / linux पर systemd init * के साथ dmesg.log बहुत बार नहीं लिखा जाता है, शायद बिल्कुल नहीं? लगातार कर्नेल लॉग बफर पढ़ने का सबसे अच्छा तरीका मुझे मिला है watch
। कुछ इस तरह से आपको शुरू किया जाना चाहिए (अपने टर्मिनल में कितनी लाइनें फिट होती हैं इसके लिए समायोजित करें):
watch 'dmesg | tail -50'
घड़ी + dmesg + डेमन + पूंछ -f
एक अधिक जटिल समाधान, फ़ाइल को dmesg आउटपुट लिखने के लिए घड़ी का उपयोग कर सकता है, जिसे आप तब कर सकते थे tail -f
। आप शायद इसे एक डेमन के रूप में चलाना चाहते हैं। एक उचित डेमॉन भी गज़िप और रोटेट रोटेट करेगा। निम्नलिखित बैश कोड अप्रयुक्त है, काम नहीं है, और केवल एक विचार व्यक्त करने का इरादा है। @ ब्रोक्स मूसा के जवाब में एक कार्यशील संस्करण है ।
watch 'dmesg >> /var/log/dmesg.log | tail -1'
* स्पर्शरेखा, इसका कारण यह एक ओएक्सएक्स प्रश्न है, लेकिन जब सिस्टमड आसपास है, तो परेशान न करें dmesg
, उपयोग करें journalctl -xf
(शायद w / -n 100
पिछले 100 लाइनों को दिखाने के लिए भी)