rmmod: ресурсы временно недоступны

У меня есть программа на C ++, драйвер для Linux и скрипт Bash. Программа C ++ будет связываться с FPGA через драйвер. Чтобы запрограммировать FPGA, мне нужно выгрузить драйвер, запрограммировать FPGA и перезагрузить драйвер после этого. И это задачи в скрипте Bash.

По сути, я хочу добиться того, чтобы программа на C ++ получила определенную команду от клиентской программы, запустила сценарий Bash, чтобы убить программу на C ++, выгрузить драйвер, программу FPGA, загрузить драйвер и снова запустить программу C ++. Но когда я использую system , fork а также execl чтобы запустить скрипт в программе на C ++, rmmod не работает с сообщением об ошибке «ресурсы временно недоступны». Похоже, драйвер думает, что программа C ++ все еще использует его.

Но я подумал, когда я использую fork а также execl, если я убью программу C ++ из другого процесса, освободит драйвер, нет? Что я должен сделать, чтобы убить программу и выгрузить драйвер?

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]