如果正在使用设备节点,如何正常删除/或不删除程序

时间:2014-10-18 15:43:43

标签: linux-kernel char driver linux-device-driver pci-e

我使用mknod命令为pcie驱动程序创建了此设备节点。

/dev/pciedrv

在设备节点文件打开(正在使用)时删除驱动程序时,系统崩溃。

rmmod -f pciedrv

有没有办法优雅退出?还有如何处理在关闭设备节点之前访问文件的用户应用程序意外终止的情况。

1 个答案:

答案 0 :(得分:1)

rmmod帮助说:

  

-f, - force
  强制模块卸载并可能导致机器崩溃。

请勿使用-f。 正确编写的驱动程序将阻止模块移除,只要它仍在使用中。

正常退出要求已打开设备节点的应用程序正常退出。 但即使应用程序意外终止,内核也会关闭该文件。