免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1387 | 回复: 0
打印 上一主题 下一主题

[linux内核编程入门].1.0.打印消息--printk的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-12 17:58 |只看该作者 |倒序浏览

                [内核编程入门] printk的使用
常想用户态程序的可能都熟悉printf,在内核空间,有一个与之类似的接口--printk。
对于使用printk,了解如下内容应该就足够了:
1. printk在进程上下文或中断上下文都可以使用。
2. 使用printk时可以指定打印到特定的log level。
3. 过快地打印过多的printk消息会影响系统性能。可以使用if (net_ratelimit()) {printk(...);}来限制打印。
关于log level,定义在include/linux/kernel.h,如下:
#define KERN_EMERG      ""   /* system is unusable                   */
#define KERN_ALERT      ""   /* action must be taken immediately     */
#define KERN_CRIT       ""   /* critical conditions                  */
#define KERN_ERR        ""   /* error conditions                     */
#define KERN_WARNING    ""   /* warning conditions                   */
#define KERN_NOTICE     ""   /* normal but significant condition     */
#define KERN_INFO       ""   /* informational                        */
#define KERN_DEBUG      ""   /* debug-level messages                 */
内核的消息都是保存在一个LOG_BUF_LEN大小的环形队列里的。用户态的klogd进程会从这个缓冲区获取内核消息,然后syslogd将它们根据配置保存在日志中。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12325/showart_1898699.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP