Chỉ cần làm cho nó @ # $% ing làm việc
- Bạn muốn in đầu ra của dmesg, liên tục, ngay lập tức
- Dmesg đang in bộ đệm vòng nhân (xem
man dmesg
)
- Bộ đệm vòng kernel là một tệp Proc đặc biệt,
/proc/kmsg
(xem man proc
)
- Đọc
/proc/kmsg
trực tiếp, tức là cat /proc/kmsg
.
Bây giờ, nếu bạn đọc hướng dẫn sử dụng Proc thân thiện, nó sẽ cảnh báo bạn nghiêm khắc chỉ cho phép một người dùng (người phải được đặc quyền) đọc /proc/kmsg
cùng một lúc. Bất cứ điều gì thực hiện syslog bạn nên làm điều này, và có lẽ nó hoạt động với dmesg
. Tôi không biết, tôi ra khỏi giải đấu của tôi ở đây, chỉ diễn giải hướng dẫn. Vì vậy, trong khi đây là cách "chỉ cần thực hiện @ # $% ing công việc", trước tiên hãy xem xét các phương pháp cặp đôi tiếp theo.
Trang người đàn ông đã được phê duyệt: xem + dmesg
Trên Arch gnu / linux với systemd init *, dmesg.log không được viết thường xuyên, có lẽ không phải vậy? Cách tốt nhất tôi tìm thấy để đọc bộ đệm nhật ký kernel liên tục là với watch
. Một cái gì đó như thế này sẽ giúp bạn bắt đầu (điều chỉnh xem có bao nhiêu dòng phù hợp trong thiết bị đầu cuối của bạn):
watch 'dmesg | tail -50'
xem + dmesg + daemon + đuôi -f
Một giải pháp phức tạp hơn có thể sử dụng đồng hồ để ghi đầu ra dmesg vào tệp, sau đó bạn có thể tail -f
. Bạn có thể muốn điều này chạy như một daemon. Một daemon thích hợp cũng sẽ gzip và xoay các bản ghi. Mã bash sau đây chưa được kiểm tra, không hoạt động và chỉ nhằm truyền đạt một ý tưởng. Câu trả lời của @Brooks Moses có phiên bản hoạt động .
watch 'dmesg >> /var/log/dmesg.log | tail -1'
* tiếp tuyến, vì đây là câu hỏi osx, nhưng khi systemd xuất hiện, đừng bận tâm dmesg
, hãy sử dụng journalctl -xf
(có thể w / -n 100
để cũng hiển thị 100 dòng trước đó)