เพียงแค่ทำให้มันทำงานได้ @ # $%
- คุณต้องการพิมพ์ผลงานของ dmesg อย่างต่อเนื่องทันที
- Dmesg กำลังพิมพ์บัฟเฟอร์วงแหวนเคอร์เนล (ดู
man dmesg)
- บัฟเฟอร์วงแหวนเคอร์เนลเป็นไฟล์ proc พิเศษ
/proc/kmsg(ดูman proc)
- อ่านโดยตรงคือ
/proc/kmsgcat /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 บรรทัดก่อนหน้านี้)