如果用户进程正在使用内核模块,我希望另一个进程无法为该模块触发rmmod。 如何实现这种功能?
Linux内核编程中的-beginner。
答案 0 :(得分:4)
rmmod
只能 卸载模块。
如果在连接用户进程时递增引用计数(并在断开连接时递减),那么你会没事的。
如果模块公开某个设备,或者作为文件系统安装,那么这应该自然处理 - 如果没有,我想这将取决于用户空间界面,但是从哪里开始查看。
顺便说一下,lsmod
会显示您的模块引用计数。您可以检查在用户空间进程连接时它是否会增加。