我正在学习《内核模块编程指南》中的编写字符设备驱动程序,并用来mknod
在其中创建一个/dev
与驱动程序对话的节点。
但是,在检查联机帮助页并观察到这rmnod
是一个不存在的命令之后,我找不到删除它的任何明显方法。
反转效果mknod
并安全删除在其中创建的节点的正确方法是什么/dev
?
正确的命令就是rm
:)
创建的设备节点mknod
只是一个包含设备主设备号和次设备号的文件。首次访问该文件时,Linux会寻找一个驱动程序,该驱动程序发布该主要/次要文件并进行加载。然后,驱动程序将处理该文件的所有I / O。
删除设备节点时,通常会出现Un * x文件的行为:Linux将等待,直到不再有对该文件的引用,然后将从磁盘中删除该文件。
您的司机并没有真正注意到这一点。Linux不会自动卸载模块。您的驱动程序将根本不再接收对任何操作的请求。但是,如果有人重新创建设备节点,它将准备就绪。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句