当前位置:  技术问答>linux和unix

使用try_module_get后怎么卸载模块

    来源: 互联网  发布时间:2017-04-01

    本文导语:  本帖最后由 jk110333 于 2013-02-01 10:04:51 编辑 我写了一个最简单的hello模块,尝试使用了try_module_get(THIS_MODULE);语句,但是问题是使用这个后模块的使用数变成了1,也就不能卸载掉了,在模块退出时加上 module_put(THIS_MODULE...

本帖最后由 jk110333 于 2013-02-01 10:04:51 编辑
我写了一个最简单的hello模块,尝试使用了try_module_get(THIS_MODULE);语句,但是问题是使用这个后模块的使用数变成了1,也就不能卸载掉了,在模块退出时加上 module_put(THIS_MODULE);也不行!
求助,求解释,这句话有什么用?在什么场合下能使用到?
废话不说   代码////././
#include//init&exit相关宏
#include
#include//所有模块都需要的头文件
#include
MODULE_LICENSE("GPL");/*声明*/
MODULE_AUTHOR("Jack Chen");/*作者*/
MODULE_DESCRIPTION("hello module,simple module");//描述
MODULE_VERSION("1.0");//版本号
//MODULE_DEVICE_TABLE("usb");//支持的设备
static int initvalue = 0;
static char *initname = NULL;

module_param(initvalue,int, S_IRUGO);
module_param(initname,charp,S_IRUGO);

/*模块初始化函数*/
static int __init hello_init(void)
{
        printk(KERN_ALERT"initvalue = %d initname = %sn",initvalue,initname);
        printk(KERN_ALERT "(init)Hello,World!n");
        try_module_get(THIS_MODULE);
        return 0;
}

/*模块退出清除函数*/
static void __exit hello_exit(void)
{
        printk(KERN_ALERT "(exit)Bye,World!n");
        module_put(THIS_MODULE);

}
module_init(hello_init);/*模块初始化*/
module_exit(hello_exit);/*模块退出*/

|
rmmod是在调用module_exit之前检查模块的引用计数的,所以你在exit之前就应该要module_put释放引用计数

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 同机装有Windows和Linux两套系统(先装Win后装Linux),如何使计算机使用Windows的启动模块而不是Linux的启动模块?
  • 使用非root用户加载模块出错
  • linux下使用无线模块wifi发现不了网卡
  • 请问,如何使用绑定在内核中的汉字模块?
  • REDHAT 4 bond 模块怎么使用?(解决付10元)
  • 编译和使用自己编写的linux内核模块的问题
  • 模块编译时可不可以使用库函数
  • 请问加载动态snmpd扩展模块时使用的命令#./snmpd –f –L –DXXX,DLmod参数的含义是什么?
  • 在线等~~如何在使用加载模块的方法加入系统调用。
  • python使用os模块的os.walk遍历文件夹示例
  • 在内核模块中想使用一个超过3M的大全局数据,可以吗?
  • 在python中的socket模块使用代理实例
  • redhat linux7.3怎么查端口是否已被系统使用啊?? 我正要用ssl的一个代理模块stunnel-4.03,它默认要用443号端口,客户机连接不能通,但改成
  • python中的hashlib和base64加密模块使用实例
  • Python Deque 模块使用详解
  • 【求助】内核中使用EXPORT_SYMBOL,编译时调用模块提示undefined,请高手帮忙
  • python使用urllib2模块获取gravatar头像实例
  • Linux中如何定义可以提供给可加载内核模块使用的静态库
  • apache使用日志分割模块rotatelogs分割日志详解
  • python使用urllib模块开发的多线程豆瓣小站mp3下载器
  • C++ I/O 成员 tellg():使用输入流读取流指针
  • 在测试memset函数的执行效率时,分为使用Cash和不使用Cash辆种方式,该如何控制是否使用缓存?
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • 求ibm6000的中文使用手册 !从来没用过服务器,现在急需使用它,不知如何使用! 急!!!!!
  • Python不使用print而直接输出二进制字符串
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • Office 2010 Module模式下使用VBA Addressof
  • 急求结果!!假设一个有两个元素的信号量集S,表示了一个磁带驱动器系统,其中进程1使用磁带机A,进程2同时使用磁带机A和B,进程3使用磁带机B。
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • c#中SAPI使用总结——SpVoice的使用方法
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,