我的设备驱动程序的输出也落在dmesg中,打印出我的标准输出。有没有办法防止这种情况发生?
答案 0 :(得分:1)
您可以通过动态调整控制台日志级别来解决问题。
http://tuxthink.blogspot.com/2012/07/printk-and-console-log-level.html
建议您可以通过写入proc节点来执行此操作:
echo "6" > /proc/sys/kernel/printk
在他们的例子中将它设置为6。我怀疑将它设置为0或1会抑制几乎所有非致命的系统
无论此设置如何,日志条目仍应由dmesg检索。
但是,这会影响来自所有来源的邮件。如果要更改自定义驱动程序的行为,请考虑向其传递一个标志,该标志将导致程序逻辑抑制消息生成,或者在较不重要的日志级别生成输出,您可以将控制台设置为忽略,如上所述。
答案 1 :(得分:0)
printk()中有不同级别的打印消息。
请参阅http://www.makelinux.net/ldd3/chp-4-sect-2了解printk()中的不同级别。使用最低的loglevel,它不会在stdout中显示,但可以使用dmesg
查看。