Linux mini-HOWTO

Совет по выгрузке из памяти всех модулей


Удаление из памяти более десяти модулей занятие довольно скучное. К счастью, все модули имеют приставку "snd-" , поэтому можно исхитриться и написать программу в одну командную строку. Вы можете удалить их, используя строку:

cat /proc/modules|gawk '/^snd-/{print $1}'|xargs -i rmmod {}

Juergen Kahrs написал мне: "У меня есть скрипт, который выгружает из памяти модули soundcore, soundlow и sound, если они не используются". Этот скрипт обращается к /proc/modules трижды, поэтому там не должно оставаться модулей после запуска скрипта''. Его скрипт представлен ниже

awk '/^snd//^sound/&&($3==0){system("rmmod " $1)}' /proc/modules /proc/modules /proc/modules

Замечание: если один модуль зависит от другого модуля (главного) вы не можете просто удалить главный модуль. Вам придется удалить сначала зависимый, а потом уже главный. (Я не сталкивался с такой ситуацией, но, вероятно, можно выгружать модули ALSA в том порядке в каком они стоят в /proc/modules).



Содержание раздела