首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘`mknod`’的反义词是什么?

‘`mknod`’的反义词是什么?
EN

Stack Overflow用户
提问于 2014-03-19 02:16:34
回答 2查看 31.7K关注 0票数 44

我正在学习从Kernel Module Programming Guide编写字符设备驱动程序,并使用mknod/dev中创建了一个节点来与我的驱动程序对话。

但是,在检查手册页并观察到rmnod是一个不存在的命令后,我找不到任何明显的方法来删除它。

要扭转mknod的影响并安全地删除在/dev中创建的节点,正确的方法是什么

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-10 17:53:22

正确的命令是rm :)

mknod创建的设备节点只是一个包含设备主号和次号的文件。当您第一次访问该文件时,Linux会查找通告该主要/次要文件的驱动程序并加载它。然后,您的驱动程序处理该文件的所有I/O。

当您删除设备节点时,通常的Un*x文件行为适用: Linux将等待,直到不再引用该文件,然后将其从磁盘中删除。

你的司机并没有真正注意到这一点。Linux不会自动卸载模块。你的驱动程序将不再接收做任何事情的请求。但它将准备就绪,以防有人重新创建设备节点。

票数 48
EN

Stack Overflow用户

发布于 2017-08-10 02:34:23

您可能正在寻找一个函数而不是一个命令。unlink()就是答案。如果没有进程打开文件,unlink()将删除文件/特殊文件。如果任何进程打开了该文件,则该文件将一直保留,直到最后一个引用它的文件描述符关闭。点击此处阅读更多信息:http://man7.org/linux/man-pages/man2/unlink.2.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22487722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档