更改printk打印级别

本文深入探讨了 Linux 内核打印控制的相关知识,包括如何查看和修改打印级别,以及如何使用 printk 函数进行内核打印。同时介绍了如何在不同环境下切换命令行界面与图形界面,确保在 Linux 系统中高效地进行调试和故障排查。

1、查看当前控制台的打印级别
 cat /proc/sys/kernel/printk
 4    4    1    7
 其中第一个“4”表示内核打印函数printk的打印级别,只有级别比他高的信息才能在控制台上打印出来,既 0-3级别的信息

2、修改打印
 echo "新的打印级别  4    1    7" >/proc/sys/kernel/printk


了解了上面的这些知识后,我们就应该知道如何手动控制printk打印了。例如,我想屏蔽掉所有的内核printk打印,那么我只需要把第一个数值调到最小值1或者0。

# echo 1       4       1      7 > /proc/sys/kernel/printk

或者

# echo 0       4       0      7 > /proc/sys/kernel/printk


3、不够打印级别的信息会被写到日志中可通过dmesg 命令来查看

 4、printk的打印级别


#define KERN_EMERG        "<0>" /* system is unusable */
#define KERN_ALERT         "<1>" /* action must be taken immediately */
#define KERN_CRIT            "<2>" /* critical conditions */
#define KERN_ERR             "<3>" /* error conditions */
#define KERN_WARNING   "<4>" /* warning conditions */
#define KERN_NOTICE       "<5>" /* normal but significant condition */
#define KERN_INFO            "<6>" /* informational */
#define KERN_DEBUG       "<7>" /* debug-level messages */


在 /proc/sys/kernel/printk 会显示4个数值(可由 echo 修改),分别表示当前控制台日志级别、未明确指定日志级别的默认消息日志级别、最小(最高)允许设置的控制台日志级别、引导时默认的日志级别。当 printk() 中的消息日志级别小于当前控制台日志级别时,printk 的信息(要有/n符)就会在控制台上显示。但无论当前控制台日志级别是何值,通过 /proc/kmsg (或使用dmesg)总能查看。另外如果配置好并运行了 syslogd 或 klogd,没有在控制台上显示的 printk 的信息也会追加到 /var/log/messages.log 中。


5、printk函数的使用

      printk(打印级别  “要打印的信息”)

       打印级别  既上面定义的几个宏

char myname[] = "chinacodec/n";
printk(KERN_INFO "Hello, world %s!/n", myname);


在linux图形界面下,是无法在命令行下显示的,尝试切换到命令行模式下就可以在终端显示了


切换方法:

不同的linux系统切换方式会稍有一点差别
从图形界面切换到字符界面:Alt+F(1-6) 或者 Alt+Ctrl+Shift+F(1-6)
从字符界面切换回图形界面:Alt+F7 
字符界面启动到图形界面使用:startx 或者 init5
 
(开机为文本界面,由文本界面切换到图形界面:
    方法1:运行命令
          #startx , 需要先配置图形界面信息,(暂时不会~) ;
    方法2:修改/etc/inittab文件中的 
          id:3:initdefault , 将3改为5 ,重新启动系统;

真机环境中,在图形界面和文本界面间切换:
    Ctrl+Alt+F(n) , 其中F(n)为F1-F6 ,为6个控制台;
    Ctrl+ALT+F7 ;

虚拟机环境,在图形界面和文本界面间切换:
  VMWare虚拟机下,由图形界面切换到文本界面,和虚拟机设置有关,默认VM占用Ctrl+Alt为热键,所以由图形界面切换到文本界面的组合键为:
    Ctrl+Alt+Shift+F(n) ,其中F(n)为F1-F6 ;
  由文本界面切换回图形界面的组合键为:
    Alt+F7 ;
  在文本界面不同控制台界面之间切换:
    Alt+F(n) , 其中F(n)为F1-F6,为6个控制台)
 
 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值