【发布时间】:2015-07-09 07:19:26
【问题描述】:
我的Linux 发行版是RHEL7,内核版本是3.10.0。
形成printk文档,我知道minimum_console_loglevel定义:
- minimum_console_loglevel:最小(最高)值 console_loglevel 可以设置
查询printk的当前日志级别:
[root@localhost kernel]# cat /proc/sys/kernel/printk
7 4 1 7
修改当前控制台日志级别:
[root@localhost kernel]# echo 0 > /proc/sys/kernel/printk
[root@localhost kernel]# cat /proc/sys/kernel/printk
0 4 1 7
据我了解,minimum_console_loglevel 为1,因此将console_loglevel 修改为0 应该会失败。但从 cat 输出来看,似乎成功了。
来自printk.c代码:
case SYSLOG_ACTION_CONSOLE_LEVEL:
error = -EINVAL;
if (len < 1 || len > 8)
goto out;
if (len < minimum_console_loglevel)
len = minimum_console_loglevel;
console_loglevel = len;
/* Implicitly re-enable logging to console */
saved_console_loglevel = -1;
error = 0;
break;
我也认为不应修改 console_loglevel 值。
【问题讨论】:
标签: c linux linux-kernel rhel printk