cat /proc/kmsg
to wygodny sposób na śledzenie komunikatów jądra. Ale wynik jest niewiarygodny. Przykład:
< eoyfl-o-ilF ilaltssI hwflssesJ a hwbctaealatv-psL hwmmr-sg()nc-l-TtssN oeOfso-eitr()so-l-iesQ na ycso-aksae()Umutfref()so-lce-ak()Wiet_e_yr upfrc-ufrZ <6>[640655.817496] SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) thaw-filesystems(J) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount force-fb(V) show-blocked-tasks(W) Write_to_dev_sysrq dump-ftrace-buffer(Z)
(Trzy razy nacisnąłem Alt + Sysrq + h: po raz pierwszy wydrukował uszkodzony tekst bez nowej linii. Po raz drugi wydrukował poprawny tekst. Po raz trzeci właśnie wyszedł (EOF).
Co ja robię źle? Jak śledzić komunikaty jądra (bez zależności od różnych plików sysklogd i config i tail -f
).
Alternatywnie, jak używać klogd do drukowania wiadomości (jak cat /proc/kmsg
ale poprawne) bez żadnych syslogów lub klogd: Already running
)?
/dev/kmsg
został zaimplementowany nowy interfejs, który pozwala wielu procesom na odczyt dziennika jądra bez uszkodzenia i cat /dev/kmsg
automatycznie śledzi nowe wpisy. (także util-linux 2.22 dmesg --follow
.)