Embora várias partes da documentação (incluindo man dmesg
) se refiram a ele como "o buffer de anel do kernel", pode ser melhor se referir a ele como o buffer de log do kernel, já que "buffer de anel" é um termo genérico Acredito que o kernel também usa buffers de anel para várias coisas completamente não relacionadas. O "printk buffer" também é apropriado, depois que a função de espaço do kernel é usada para gravar nele.
De qualquer forma, ele reside no espaço do kernel e uma interface de leitura é fornecida via /proc/kmsg
e uma interface de leitura e gravação via /dev/kmsg
. Então, se como root você vai:
echo "Hello Kernel!" > /dev/ksmg
Você verá se você, em seguida, cat /dev/ksmg
(você provavelmente não verá isso aparecendo em qualquer registro, no entanto - veja o comentário de Matthew Phipps abaixo por um possível motivo). Essa é uma saída bruta e não se parece exatamente com as coisas que você vê em dmesg
ou em seus arquivos de log. Há um pequeno bit de documentação sobre isso fornecido com o código-fonte do kernel. A leitura de /proc/kmsg
(não o mesmo que /dev/ksmg
) é recomendada contra if (r) o syslog está em execução.
O Rsyslog é uma das várias implementações do syslog comumente usadas no linux. Estes são os aplicativos da área de usuário que originam as mensagens do kernel de /proc/ksmg
e as mensagens de outros processos do usuário por meio de um soquete, /dev/log
.