Как программа для постепенного удаления / или не удаления, если используется узел устройства
У меня есть этот узел устройства, созданный с помощью команды mknod для драйвера pcie.
/dev/pciedrv
При удалении драйвера, когда файл узла устройства открыт (используется), происходит сбой системы.
rmmod -f pciedrv
Есть ли способ сделать изящный выход? Также, как обработать случай, когда пользовательское приложение, обращающееся к файлу, неожиданно завершает работу перед закрытием узла устройства.
1 ответ
rmmod
помощь говорит:
-f, --force
вынуждает модуль выгружаться и может вывести из строя вашу машину.
Не использовать -f
, Правильно написанный драйвер будет блокировать удаление модуля, пока он еще используется.
Изящный выход требует, чтобы приложение, открывшее узел устройства, корректно завершало работу. Но даже если приложение неожиданно завершает работу, ядро закроет файл.