'cat / proc / kmsg' produz texto quebrado

4

cat /proc/kmsg é uma maneira conveniente de acompanhar as mensagens do kernel. Mas a saída não é confiável. Exemplo:

< 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)

(Eu pressionei Alt + Sysrq + h três vezes: na primeira vez que ele imprimiu texto quebrado sem nova linha. Segunda vez que ele imprimiu o texto correto. Terceira vez ele acabou de sair (EOF).

O que estou fazendo de errado? Como seguir as mensagens do kernel (sem depender de vários arquivos sysklogd e config e tail -f ).

Alternativamente, como usar o klogd para apenas imprimir mensagens (como cat /proc/kmsg mas correto) sem nenhum syslog ou klogd: Already running )?

    
por Vi. 14.04.2011 / 01:38

2 respostas

2

Parece que a saída de cat /proc/kmsg está distorcida porque pode haver outros consumidores de dados de registro do kernel, como syslogd e amigos. Para mim, os caracteres de saída são intercalados com cat ou syslogd (experimentado no Ubuntu 12.04). Veja também esta resposta: link

Eu posso imaginar, cat /proc/kmsg funcionaria de forma confiável quando inicializado em um sistema novo (por exemplo, kernel inicializado com init=/bin/sh argumento). Caso contrário, usar o comando dmesg para ler o log do kernel é mais fácil.

    
por 29.12.2012 / 20:17
0

Eu estava tendo um problema cat /proc/kmsg saindo prematuramente devido a ele tentar exibir caracteres não imprimíveis.

Eu descobri que:

cat -v /proc/kmsg

remove todos os caracteres não imprimíveis da saída e impede que cat seja encerrado prematuramente.

    
por 20.04.2016 / 14:41