从控制台隐藏 Linux 内核消息

从控制台隐藏 Linux 内核消息

我有一台机器运行基于 Debian Squeeze 的定制版 Linux 内核 3.2.12-rt。

我正在将内核消息打印到控制台。我不想这样做。我知道为什么它正在这样做:

# cat /proc/sys/kernel/printk
8     4     1     3

但我不知道第一个值是如何设置为 8 的,而且我希望无论是什么操作都能停止。

我查看了内核配置;它没有CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4内置命令行。

我查看了启动命令行;它有quiet。我尝试将其更改为quiet loglevel=4,但这没有帮助。

/etc/sysctl.confkernel.printk = 3 4 1 3(并且它没有被注释掉)。

我尝试 grep 查找可能设置了 printk 的其他任何内容,但找不到任何有用的东西。(这可能只是意味着我没有在正确的地方或正确的东西中查找。)

$ grep console /etc/rsyslog.conf
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
# you must invoke `xconsole' with the `-file' option:
#    $ xconsole -file /dev/xconsole [...]
         *.notice;*.warn       |/dev/xconsole

我还能在哪里找到?(当然,我可能可以/proc/sys/kernel/printk在一些启动脚本中重写,但一定有更好的方法。)

答案1

我发现了问题。 /etc/rc.local有以下一行:

dmesg -n 8

删除此项后日志记录恢复正常。

相关内容