に
/proc/kmsg
とカーネルのログについてのあなたの詳細情報を取得するために、いくつかのより多くの資源であります
これはPavanの非常に良い答えにさらにですが(私をたくさん教え):
異なるディストリビューションは、彼らが好き(は/ dev/XXX)任意の物理ログファイルまたは仮想デバイスには/ proc/kmsgの出力をリダイレクトすることがあります。カーネルはそのリングバッファの動作を実装するので、しかし、「/ procの/ kmsgには、」カーネルログのオリジナルソースは、ある内部FSの/ proc/kmsg.c:
static const struct file_operations proc_kmsg_operations = {
.read = kmsg_read,
.poll = kmsg_poll,
.open = kmsg_open,
.release = kmsg_release,
.llseek = generic_file_llseek,
};
ですから、出力がこれです見る方法:
のsudoは、tail -f/procの/ kmsg
しかし、あなただけがこのコマンドを発行した後に生成されたすべてのメッセージを参照することができます - リングバッファ内のすべての以前のメッセージがプリントアウトされることはありませんが。物理ファイルの出力を見るために、 "/ proc/kmsg"のユーザを検索することができます:
sudo lsof | grep proc。kmsg
そして、私のマシンは、この指示:
にsudo lsの-al/procの/ 1743/FD
:だから今、それはPID 1743で
rsyslogd 1743 syslog 3r REG 0,3 0 4026532041 /proc/kmsg
in:imuxso 1743 1755 syslog 3r REG 0,3 0 4026532041 /proc/kmsg
in:imklog 1743 1756 syslog 3r REG 0,3 0 4026532041 /proc/kmsg
rs:main 1743 1757 syslog 3r REG 0,3 0 4026532041 /proc/kmsg
を、のファイルが1743で開かれたfdを見てみましょうあなたが行くので、そこ
lrwx------ 1 root root 64 Dec 11 08:36 0 -> socket:[14472]
l-wx------ 1 root root 64 Dec 11 08:36 1 -> /var/log/syslog
l-wx------ 1 root root 64 Dec 11 08:36 2 -> /var/log/kern.log
lr-x------ 1 root root 64 Dec 11 08:36 3 -> /proc/kmsg
l-wx------ 1 root root 64 Dec 11 08:36 4 -> /var/log/auth.log
そして、1743 pidがrsyslogdされ、そしてそれはなどは/ var/log/syslogのと/var/log/kern.log
のようなファイルには/ proc/kmsgの出力をリダイレクト10
すごい!非常に専門的で有用な答え!あなたは、私はLinuxカーネルプログラミングのちょうど新しい仲間に過ぎません、あなたの助けに感謝することはできません。ありがとう、あなた。 –
うれしい私はあなたを助けることができました:)ようこそ! –