Как программа для постепенного удаления / или не удаления, если используется узел устройства

У меня есть этот узел устройства, созданный с помощью команды mknod для драйвера pcie.

/dev/pciedrv

При удалении драйвера, когда файл узла устройства открыт (используется), происходит сбой системы.

rmmod -f pciedrv

Есть ли способ сделать изящный выход? Также, как обработать случай, когда пользовательское приложение, обращающееся к файлу, неожиданно завершает работу перед закрытием узла устройства.

1 ответ

rmmod помощь говорит:

-f, --force
вынуждает модуль выгружаться и может вывести из строя вашу машину.

Не использовать -f, Правильно написанный драйвер будет блокировать удаление модуля, пока он еще используется.

Изящный выход требует, чтобы приложение, открывшее узел устройства, корректно завершало работу. Но даже если приложение неожиданно завершает работу, ядро ​​закроет файл.

Другие вопросы по тегам