USBカメラが刺さると/dev/video0が作成され、抜かれると/dev/video0が削除される。
USBカメラアプリは/dev/video0 があるうちはカメラが生きてると判断し、このファイルが無くなったらプロセスを終了する。
カメラの抜き挿しを繰り返していると、/dev/video0が消されないことがある。 (udevのバグかなんかで)
こうなるとさまざまな不具合が発生する
- /dev/video0が残り、カメラアプリのプロセスが無意味に残り続ける
- /dev/video0はもう二度と消えない
- /dev/video0があるため、次にカメラが刺さった時に/dev/video1が出来たりする
- なぜか/dev/video0が再利用されることもある
- でも抜かれたときに/dev/video0が削除されることはない
こうなったとき、カメラが抜けてる状態で /dev/video0 を削除すればとりあえず不整合が解消され、もとにもどる
udevに俺ルールを追加していて、しかもそれがやたらと重かったりすると、この現象が起きやすくなる模様
これを軽くすることで回避できそう
そのうえで、この現象が起きてもリカバリをする方法を考える