铁矢 2018-03-31 07:33 采纳率: 0%
浏览 2386
已结题

Linux 遍历时 使用for_each_process 系统认为错误 怎么办啊 头文件也加了

在Ubuntu上遍历进程时 用的函数是 for_each_process(task) 结果给我报错 代码与错误结果如下 不知道应该怎么改 ![图片说明](https://img-ask.csdn.net/upload/201803/31/1522481357_253891.png)图片说明

  • 写回答

5条回答 默认 最新

  • u010262380 2018-04-07 04:00
    关注

    从楼主贴的代码上看不出来获取了task指针后做了什么操作,猜测错误可能更楼主没贴上来的代码有关,但具体还得把编译时报错的信息贴上来才能知道。
    附上一个示例代码和Makefile文件供参考:
    文件名:test.c
    #include
    #include
    #include

    static int __init functn_init(void)
    {
    int ret=0;
    struct task_struct *task;

    printk(KERN_INFO "insmod test modules.\n");

    for_each_process(task)
        printk(KERN_INFO "pid:%d,task_name:%s\n",task->pid,task->comm);
    return ret;
    

    }

    static void __exit functn_cleanup(void)
    {
    printk(KERN_INFO "exit test modules!\n");
    }

    module_init(functn_init);
    module_exit(functn_cleanup);

    MODULE_LICENSE("GPL");

    Makefile文件内容:
    ifneq ($(KERNELRELEASE),)
    obj-m := test.o
    else
    PWD := $(shell pwd)
    KDIR :=/home/kernel/kernel-3.10.0-693/
    all:
    $(MAKE) -C $(KDIR) M=$(PWD)
    clean:
    rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions *.symvers *.order
    endif

    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler