微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – printk()不会在/ var / log / messages中打印

我的操作系统Ubuntu 12.04.我写了这个内核模块,我使用insmod和rmmod命令,但/ var / log消息中没有任何内容.我该如何解决这个问题?
/*  
*  hello-1.c - The simplest kernel module.
*/
#include <linux/module.h>   /* Needed by all modules */
#include <linux/kernel.h>   /* Needed for KERN_INFO */

int init_module(void)
{
   printk(KERN_INFO "Hello world 1.\n");

    /* 
    * A non 0 return means init_module Failed; module can't be loaded. 
    */
    return 0;
 }

 void cleanup_module(void)
 {
   printk(KERN_INFO "Goodbye world 1.\n");
 }

解决方法

检查syslog守护进程是否正在运行,因为如果我是正确的,这是将来自内核环/日志消息缓冲区的printk消息复制到/ var / log / messages的进程.使用dmesg实用程序/命令可以看到printk消息,或者消息将在/ var / log / messages中.如果设置了正确的loglevel,则printk消息将立即显示在控制台上,无需使用dmesg或无需检入/ var / log / messages. printk调试消息也可以是/ var / log / syslog的一部分.

原文地址:https://www.jb51.cc/linux/394928.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐