关于linux中设备节点的创建问题

发布于 2022-10-15 07:00:07 字数 200 浏览 22 评论 0

我做的是一个虚拟命名管道(FIFO)的字符设备,程序完成后通过编译生成了个vfifo.o文件,然后通过insmod vfifo.o命令加载模块,成功,最后通过mknod /dev/vfifo c 241 0 实现文件节点的创建,但显示:mknod: ‘vfifo’: 文件已存在
请问这是什么问题,求解,我是菜鸟、刚接触linux不久。。。
望高手解答啊、、本人感激不尽~~~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

蓝天 2022-10-22 07:00:07

内核模块编译出来不是.ko文件吗?
到/dev目录看看有没有vfifo节点。

天涯离梦残月幽梦 2022-10-22 07:00:07

有可能你的源码没有自动创建节点的功能,所以需要自己mknod,这种情况下,你rmmod的时候,它不会自己去掉节点的,不过可以直接使用,如果major和minor不变的话。

如果改变了的话,你可以rm它就可以了。

初相遇 2022-10-22 07:00:07

回复 2# RoverMo

    老内核是.o的

那伤。 2022-10-22 07:00:07

.o肯定是不正确 的。如果存在,用rm 删除就可以了。

爱的十字路口 2022-10-22 07:00:07

回复 5# bin_linux96

    2.4版linux驱动模块就是.o文件

何以笙箫默 2022-10-22 07:00:07

是不是你的程序中已经实现自动创建设备节点啊

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文