2014-10-18 45 views
0

我有這個設備節點使用mknod命令創建一個pcie驅動程序。程序如何正常刪除/或不刪除如果設備節點正在使用

/dev/pciedrv 

在設備節點文件打開(使用中)時刪除驅動程序時,系統崩潰。

rmmod -f pciedrv 

有沒有辦法做一個優雅的退出?在關閉設備節點之前,如何處理用戶應用程序訪問文件意外終止的情況。

+0

請問如果不明確 – bdubey 2014-10-18 16:01:34

+0

在運行'rmmod'之前,製作一個shell腳本來檢查設備節點是否正在使用(帶'lsof')? – 2014-10-18 16:07:07

+0

我們可以在驅動代碼中做到嗎? – bdubey 2014-10-18 16:10:01

回答

1

rmmod幫助說:

-f,--force
強制卸載模塊和機器崩潰。

請勿使用-f。 只要正在使用,正確寫入的驅動程序將阻止模塊移除。

正常退出要求已打開設備節點的應用程序正常退出。 但即使應用程序意外終止,內核也會關閉文件。