просто сделайте это @#$%ing работа
- вы хотите печатать вывод 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.журнал не пишется очень часто, возможно, вообще нет? Лучший способ, который я нашел, чтобы читать буфер журнала ядра непрерывно это с watch
. Что-то вроде этого должно заставить вас начать (отрегулируйте, сколько строк помещается в вашем терминале):
watch 'dmesg | tail -50'
watch + dmesg + daemon + tail-f
более запутанное решение может использовать watch для записи вывода dmesg в файл, который вы могли бы тогда tail -f
. Вы, вероятно, хотите, чтобы это работало как демон. Правильный демон также будет gzip и вращать журналы. Следующий код bash не тестировался, не работает и предназначен только для передачи идеи. @Брукс Мозес ответ имеет рабочая версия.
watch 'dmesg >> /var/log/dmesg.log | tail -1'
* касательная, потому что это вопрос osx, но когда systemd вокруг, не беспокойтесь о dmesg
используйте journalctl -xf
(возможно w/-n 100
показать предыдущие 100 строк)