[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: мониторинг использования процессами модулей ядра



HoverHell <hoverhell@gmail.com> writes:

> В дебиановском скрипте /etc/init.d/alsa проблема убивания процессов,
> использующих звук, при выгрузке модулей, решена так: "lsof +D /dev -F rt|awk
> '/^p/ {pid=$1} /^t/ {type=$1} /^r0x(74|e)..$/ && type == "tCHR" {print
> pid}'|cut -c 2-|uniq"
>
> * Попутно говоря, можно ли как-то узнать, какие файлы в /dev (или где ещё)
> создал модуль ядра?
Напрямую -- нет. Потому что файлы в /dev создает не модуль ядра. Они либо
создаются руками, либо демоном udev. Первый случай (нынче уже не слишком типичный)
интереса не представляет; во втором случае можно написать udev-правило которое
будет где-то фиксировать запросы от ядерных модулей на регистрацию устройств -- 
после этого можно будет узнать какой модуль чего создал (но там, впрочем, логика
не совсем тривиальная).

Кроме того, анализируя файл /etc/modprobe.d/aliases и ему подобные можно установить
соответствие между номерами устройств и именами модулей -- ну а дальше по имени
устройства определяется его номер и т.д. 

-- 

					S. Y. A(R). A.

Reply to: