разгрузка модуля sr_mod вызывает у меня ошибку: rmmod: ОШИБКА: Модуль sr_mod используется

Вопрос или проблема

# lsmod | grep -i sr_mod
sr_mod                 22416  1
cdrom                  42556  1 sr_mod

но он не используется никаким другим модулем

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


Я хочу выгрузить sr_mod с помощью этой команды:
rmmod sr_mod
и получаю эту ошибку:
rmmod: ERROR: Module sr_mod is in use
************************************
#modinfo sr_mod | grep depends
depends: cdrom
**************************************
#rmmod cdrom
rmmod: ERROR: Module cdrom is in use by: sr_mod
**************************************
#modinfo cdrom | grep depends
depends:

Я думаю, вам нужно:

modinfo sr_mod

Надеюсь, это даст вам всю необходимую информацию.

Попробуйте это –
lsmod cdrom | grep cdrom

Это должно отобразить “sr_mod” как зависимость.

Выполните команду ниже, чтобы удалить модуль cdrom.

modprobe -r sr_mod

Ответ или решение

Когда вы пытаетесь выгрузить модуль sr_mod с помощью команды rmmod sr_mod, и получаете ошибку rmmod: ERROR: Module sr_mod is in use, это может быть связано с тем, что модуль используется другим процессом или модулем, что не позволяет его выгрузить. В соответствии с представленной информацией, модуль sr_mod используется модулем cdrom, что и подтверждается командой modinfo sr_mod | grep depends, где отобразится зависимость от модуля cdrom.

Для определения процессов, которые могут использовать данный модуль, выполните следующие шаги:

  1. Проверьте, используется ли устройство, связанное с sr_mod. Откройте терминал и выполните следующую команду:

    lsof | grep sr_mod

    Данная команда покажет процессы, которые открывают файлы, связанные с модулем sr_mod. Если какие-либо процессы используют модуль, их можно будет завершить.

  2. Проверьте открытые устройства. Возможно, устройство, связанное с модулем sr_mod (например, CD/DVD-привод), всё ещё открыт для чтения или записи. Чтобы проверить, какие устройства на вашем компьютере открыты, используйте:

    cat /proc/mounts | grep sr

    Если устройство смонтировано, его необходимо размонтировать. Выполните:

    umount /dev/cdrom

    или укажите конкретный путь к вашему устройству.

  3. Используйте команду fuser. Эта команда позволит вам увидеть, какие процессы используют файл или устройство:

    fuser -m /dev/cdrom

    Необходимо заменить /dev/cdrom на фактическое устройство. После этого вы сможете завершить процессы, если это допустимо.

  4. Попробуйте удалить зависимости. Поскольку sr_mod зависит от cdrom, вам нужно сначала выгрузить cdrom. Но перед тем как это сделать, убедитесь, что не осталось активных процессов, использующих это устройство.

    Порядок команд, которые следует выполнить:

    umount /dev/cdrom        # Размонтируйте устройство
    rmmod cdrom              # Попробуйте выгрузить модуль cdrom
    rmmod sr_mod             # После успешного удаления cdrom попробуйте выгрузить sr_mod
  5. Если все вышеперечисленное не сработало, попробуйте перезагрузку. Иногда, когда модули остаются активными после завершения всех процессов, перезагрузка может помочь освободить ресурсы, что позволит выгрузить модули после ново запущенной сессии системы.

Следуя этим шагам, вы сможете определить, какой процесс или модуль использует sr_mod, и, соответственно, удалить его. Обязательно следите за тем, чтобы не удалить важные системные модули и не завершить критически важные для работы системы процессы.

Оцените материал
Добавить комментарий

Капча загружается...