Em qualquer sistema sã, a menos que você tenha configurado chroots com seus próprios /dev
, todos os arquivos do dispositivo estarão em /dev
. Apenas o root pode criar arquivos de dispositivos, portanto você não precisa se preocupar com usuários mal-intencionados que criam arquivos de dispositivos em outro lugar.
Portanto, tudo o que você precisa fazer é localizar os arquivos em /dev
que se referem ao mesmo dispositivo que você está interessado.
ls -lR /dev |awk '/^c/ && $5 == "81," && $6 == "0"'
É provável que isso mostre apenas /dev/video0
. Normalmente, há um único arquivo de dispositivo para cada dispositivo e possivelmente há links simbólicos adicionais para ele.
Assim, a resposta prática à sua pergunta é simples. Basta verificar quais processos têm o arquivo do dispositivo aberto.
fuser /dev/video0
Se você quiser monitorar acessos (isto é, capturar processos que possam abrir o arquivo do dispositivo a qualquer momento), use um dos métodos de monitoramento de acesso a arquivos no (s) arquivo (s) de dispositivo: configure um relógio (e verifique quais processos já possuem o (s) arquivo (s) de dispositivo aberto (s)
inotifywait -m -e open,close /dev/video0 &
sleep 1; fuser /dev/video0 # check for processes that have already opened the device
ou configurar uma regra de auditoria que registrará acessos nos registros do sistema (geralmente /var/log/audit/audit.log
)
auditctl -w path=/dev/video0 &
sleep 1; fuser /dev/video0 # check for processes that have already opened the device