เพียงแค่ทำให้มันทำงานได้ @ # $%
- คุณต้องการพิมพ์ผลงานของ dmesg อย่างต่อเนื่องทันที
- Dmesg กำลังพิมพ์บัฟเฟอร์วงแหวนเคอร์เนล (ดู
man dmesg
)
- บัฟเฟอร์วงแหวนเคอร์เนลเป็นไฟล์ proc พิเศษ
/proc/kmsg
(ดูman proc
)
- อ่านโดยตรงคือ
/proc/kmsg
cat /proc/kmsg
ตอนนี้ถ้าคุณอ่านคู่มือ proc ที่เป็นมิตรมันจะเตือนคุณอย่างจริงจังว่าจะให้ผู้ใช้หนึ่งคน (ผู้ที่ต้องได้รับสิทธิพิเศษ) อ่าน/proc/kmsg
ต่อครั้ง สิ่งที่ดำเนินการ syslog dmesg
คุณได้ควรจะทำเช่นนี้และสันนิษฐานว่ามันทำงานร่วมกับ ฉันไม่ได้ออกจากลีกของฉันที่นี่เพียงถอดความจากคู่มือ ดังนั้นในขณะที่นี่เป็นวิธี "เพิ่งทำให้ @ # $ ทำงานไอเอ็นจี" วิธีพิจารณาสองวิธีถัดไปก่อน
อนุมัติหน้า Man: watch + dmesg
ใน Arch gnu / linux ที่มี systemd init *, dmesg.log ไม่ได้ถูกเขียนขึ้นบ่อยนักบางทีอาจไม่ได้เลยเหรอ? วิธีที่ดีที่สุดที่ผมพบว่าการอ่านบัฟเฟอร์บันทึก kernel watch
อย่างต่อเนื่องอยู่กับ สิ่งนี้จะช่วยให้คุณเริ่มต้นใช้งานได้ (ปรับตามจำนวนบรรทัดในเทอร์มินัลของคุณ):
watch 'dmesg | tail -50'
ดู + dmesg + daemon + tail -f
วิธีการแก้ปัญหาที่ซับซ้อนมากขึ้นอาจใช้นาฬิกาที่จะเขียนออก dmesg tail -f
ไปยังแฟ้มที่คุณสามารถทำได้แล้ว คุณอาจต้องการให้สิ่งนี้ทำงานเป็นดีมอน ภูตที่เหมาะสมก็จะ gzip และหมุนบันทึก รหัสทุบตีต่อไปนี้ยังไม่ได้ทดสอบไม่ทำงานและมีจุดประสงค์เพื่อถ่ายทอดความคิดเท่านั้น @Brooks คำตอบของโมเสสมีรุ่นที่ใช้งานได้
watch 'dmesg >> /var/log/dmesg.log | tail -1'
* แทนเจนต์, ทำให้นี่เป็นคำถามของ osx, แต่เมื่อ systemd อยู่ใกล้, อย่ารบกวนdmesg
, ใช้journalctl -xf
(อาจ-n 100
จะแสดงด้วย 100 บรรทัดก่อนหน้านี้)