博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Printk在终端显示
阅读量:4052 次
发布时间:2019-05-25

本文共 792 字,大约阅读时间需要 2 分钟。

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

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

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

printk()函数有八个优先级定义,如下:

           #define    KERN_EMERG     "<0>"    

#define    KERN_ALERT      "<1>"    

#define    KERN_CRIT  "<2>"    

#define    KERN_ERR   "<3>"    

#define    KERN_WARNING "<4>"    

#define    KERN_NOTICE    "<5>"    

#define    KERN_INFO  "<6>"    

#define    KERN_DEBUG     "<7>"    

   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为要写入的值,可改变)。

转载地址:http://wosci.baihongyu.com/

你可能感兴趣的文章
linux位操作API
查看>>
uboot.lds文件分析
查看>>
uboot start.s文件分析
查看>>
没有路由器的情况下,开发板,虚拟机Ubuntu,win10主机,三者也可以ping通
查看>>
本地服务方式搭建etcd集群
查看>>
安装k8s Master高可用集群
查看>>
忽略图片透明区域的事件(Flex)
查看>>
忽略图片透明区域的事件(Flex)
查看>>
AS3 Flex基础知识100条
查看>>
Flex动态获取flash资源库文件
查看>>
flex4 中创建自定义弹出窗口
查看>>
01Java基础语法-16. while循环结构
查看>>
01Java基础语法-18. 各种循环语句的区别和应用场景
查看>>
01Java基础语法-19. 循环跳转控制语句
查看>>
Django框架全面讲解 -- Form
查看>>
socket,accept函数解析
查看>>
今日互联网关注(写在清明节后):每天都有值得关注的大变化
查看>>
”舍得“大法:把自己的优点当缺点倒出去
查看>>
[今日关注]鼓吹“互联网泡沫,到底为了什么”
查看>>
[互联网学习]如何提高网站的GooglePR值
查看>>