如何禁止在控制台/虚拟终端上打印消息或日志?

如何禁止在控制台/虚拟终端上打印消息或日志?

我的无线驱动程序很吵。它每隔 10-30 秒就会向控制台打印一条消息。因此,如果我在 VT1 或类似的东西上工作,我就会一直收到滚动的消息。有没有办法关闭此功能?我喜欢在虚拟终端上工作,但这让它很难处理。:)

有任何想法吗?

答案1

您可以使用命令

sudo dmesg -n 1

抑制来自内核(及其驱动程序)的所有消息(恐慌消息除外)出现在控制台上。

要在每次启动时修复,请添加命令到:

/etc/rc.local

答案2

dmesg有两个方便的选项:

-D, --console-off           disable printing messages to console
-E, --console-on            enable printing messages to console

dmesg -D只是 的快捷方式dmesg -n 1,只不过它存储了当前日志级别,以便您可以轻松使用 恢复它dmesg -E。因此,它比使用 更改日志级别更方便一些dmesg -n

此外,您还可以使用以下命令检查当前日志级别:

$ cat /proc/sys/kernel/printk
7       4       1       7

man klogctl有关这些数字的更多解释...

答案3

/proc/sys/kernel/printk

您也可以直接使用以下命令设置日志级别

echo 1 > /proc/sys/kernel/printk

这基本上就是dmesg正在做的事情。

该文件的格式说明如下:https://superuser.com/a/793692/128124

loglevel命令行启动参数

在启动时设置初始值,使您能够看到预初始化消息。

相关内容