Printk在终端显示

printk()函数为内核空间里边的信息打印函数,就像c编程时用的printf()函数一样,专供内核中的信息展示用,他没有调用printf()的原因是在编译内核时还没有c的库函数可以供调用。

linux中,可以像使用printf()一样使用printk(),也可以加上优先级使用,比如如下:

                printk(KERN_ALERT "LCD light exit./n")

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               */

   printk()优先级低于int console_loglevel,信息将直接打印在你的终端上(x 环境下好像不行)。如果同时 syslogdklogd都在运行,信息也同时添加在文件 /var/log/messages,而不管是否显示在控制台上与否。我们使用像 KERN_ALERT这样的高优先级,来确保printk()将信息输出到 控制台而不是只是添加到日志文件中。 当你编写真正的实用的模块时,你应该针对可能遇到的情况使用合适的优先级。

/var/log/messages里的信息可以使用 cat  /var/log/messages 进行查看。

控制台的日志级别可以使用    cat /peoc/sys/kernel/printk 查看。

控制台的日志级别可以用    echo 3 > /peoc/sys/kernel/printk  改变(3为要写入的值,可改变)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值