Если есть исходники программы, создающей avi, можно проверить, а вдруг она уже ставит замки на файлы.
lsof, если не ошибаюсь, работает через procfs
А вот, кстати, еще один способ получения информации, довольно удобный.
Получить pid процесса, создающего авишники, и посмотреть в /proc/12341/fd или /proc/12341/fdinfo, где 12341 - pid, какие дескрипторы открыты.
Вот, например, я нашел информацию о плеере:
$ ll /proc/19848/fd
total 0
lr-x------ 1 wl wl 64 2011-09-15 15:37 0 -> /dev/null
lrwx------ 1 wl wl 64 2011-09-15 15:37 1 -> /home/wl/.xsession-errors
l-wx------ 1 wl wl 64 2011-09-15 15:37 10 -> pipe:[640966]
lr-x------ 1 wl wl 64 2011-09-15 15:37 11 -> pipe:[640967]
l-wx------ 1 wl wl 64 2011-09-15 15:37 12 -> pipe:[640967]
lrwx------ 1 wl wl 64 2011-09-15 15:37 13 -> socket:[640968]
lrwx------ 1 wl wl 64 2011-09-15 15:37 14 -> socket:[640970]
lrwx------ 1 wl wl 64 2011-09-15 15:37 15 -> socket:[640973]
lrwx------ 1 wl wl 64 2011-09-15 15:37 16 -> socket:[640989]
lrwx------ 1 wl wl 64 2011-09-15 15:37 17 -> socket:[640991]
lrwx------ 1 wl wl 64 2011-09-15 15:37 18 -> /tmp/qtsingleapp-clemen-d211-3e8-lockfile
lrwx------ 1 wl wl 64 2011-09-15 15:37 19 -> socket:[640993]
lrwx------ 1 wl wl 64 2011-09-15 15:37 2 -> /home/wl/.xsession-errors
lr-x------ 1 wl wl 64 2011-09-15 15:37 20 -> pipe:[640995]
l-wx------ 1 wl wl 64 2011-09-15 15:37 21 -> pipe:[640995]
lrwx------ 1 wl wl 64 2011-09-15 15:37 22 -> /home/wl/.config/Clementine/clementine.db
lrwx------ 1 wl wl 64 2011-09-15 15:37 23 -> /home/wl/.config/Clementine/jamendo.db
lrwx------ 1 wl wl 64 2011-09-15 15:37 24 -> /home/wl/.config/Clementine/clementine.db
lrwx------ 1 wl wl 64 2011-09-15 15:37 25 -> /home/wl/.config/Clementine/jamendo.db
lr-x------ 1 wl wl 64 2011-09-15 15:37 26 -> pipe:[640996]
l-wx------ 1 wl wl 64 2011-09-15 15:37 27 -> pipe:[640996]
lrwx------ 1 wl wl 64 2011-09-15 15:37 28 -> socket:[640997]
lr-x------ 1 wl wl 64 2011-09-15 15:37 29 -> pipe:[640999]
lr-x------ 1 wl wl 64 2011-09-15 15:37 3 -> pipe:[640954]
l-wx------ 1 wl wl 64 2011-09-15 15:37 30 -> pipe:[640999]
lr-x------ 1 wl wl 64 2011-09-15 15:37 31 -> inotify
lrwx------ 1 wl wl 64 2011-09-15 15:37 32 -> /tmp/clementine-art-D19848.jpg
lrwx------ 1 wl wl 64 2011-09-15 15:37 33 -> /tmp/clementine-art-O19848.jpg
lr-x------ 1 wl wl 64 2011-09-15 15:37 34 -> pipe:[641007]
l-wx------ 1 wl wl 64 2011-09-15 15:37 35 -> pipe:[641007]
lr-x------ 1 wl wl 64 2011-09-15 15:37 36 -> pipe:[641008]
l-wx------ 1 wl wl 64 2011-09-15 15:37 37 -> pipe:[641008]
lrwx------ 1 wl wl 64 2011-09-15 15:37 38 -> socket:[641010]
lr-x------ 1 wl wl 64 2011-09-15 15:37 39 -> pipe:[641009]
l-wx------ 1 wl wl 64 2011-09-15 15:37 4 -> pipe:[640954]
l-wx------ 1 wl wl 64 2011-09-15 15:37 40 -> pipe:[641009]
lrwx------ 1 wl wl 64 2011-09-15 15:37 41 -> socket:[641012]
lrwx------ 1 wl wl 64 2011-09-15 15:37 42 -> /home/wl/.config/Clementine/clementine.db
lr-x------ 1 wl wl 64 2011-09-15 15:37 43 -> pipe:[641014]
l-wx------ 1 wl wl 64 2011-09-15 15:37 44 -> pipe:[641014]
lrwx------ 1 wl wl 64 2011-09-15 15:37 45 -> /home/wl/.config/Clementine/clementine.db
lrwx------ 1 wl wl 64 2011-09-15 15:37 46 -> /home/wl/.config/Clementine/jamendo.db
lrwx------ 1 wl wl 64 2011-09-15 15:37 47 -> socket:[1815214]
lrwx------ 1 wl wl 64 2011-09-15 15:37 48 -> socket:[641090]
lr-x------ 1 wl wl 64 2011-09-15 15:37 49 -> pipe:[641092]
lr-x------ 1 wl wl 64 2011-09-15 15:37 5 -> pipe:[640956]
l-wx------ 1 wl wl 64 2011-09-15 15:37 50 -> pipe:[641092]
lr-x------ 1 wl wl 64 2011-09-15 15:37 51 -> inotify
lrwx------ 1 wl wl 64 2011-09-15 15:37 52 -> socket:[1815215]
lr-x------ 1 wl wl 64 2011-09-15 15:37 53 -> pipe:[641094]
l-wx------ 1 wl wl 64 2011-09-15 15:37 54 -> pipe:[641094]
lr-x------ 1 wl wl 64 2011-09-15 15:37 55 -> pipe:[648492]
lr-x------ 1 wl wl 64 2011-09-15 15:37 56 -> /mnt/sdb/home/wl/music/Illuminate/Bittersuesses Gift/03 - Wenn Du Lachst.mp3
l-wx------ 1 wl wl 64 2011-09-15 15:37 57 -> pipe:[648492]
lr-x------ 1 wl wl 64 2011-09-15 15:37 58 -> pipe:[1832279]
lrwx------ 1 wl wl 64 2011-09-15 15:37 59 -> socket:[648498]
l-wx------ 1 wl wl 64 2011-09-15 15:37 6 -> pipe:[640956]
l-wx------ 1 wl wl 64 2011-09-15 15:37 60 -> pipe:[1832279]
lrwx------ 1 wl wl 64 2011-09-15 15:37 61 -> /home/wl/.config/Clementine/jamendo.db
lr-x------ 1 wl wl 64 2011-09-15 15:37 62 -> inotify
lrwx------ 1 wl wl 64 2011-09-15 15:37 64 -> socket:[1836727]
lr-x------ 1 wl wl 64 2011-09-15 15:37 65 -> pipe:[1831694]
l-wx------ 1 wl wl 64 2011-09-15 15:37 66 -> pipe:[1831694]
lrwx------ 1 wl wl 64 2011-09-15 15:37 69 -> socket:[1836728]
lrwx------ 1 wl wl 64 2011-09-15 15:37 7 -> socket:[640960]
lr-x------ 1 wl wl 64 2011-09-15 15:37 70 -> pipe:[1831741]
lr-x------ 1 wl wl 64 2011-09-15 15:37 71 -> pipe:[1836729]
l-wx------ 1 wl wl 64 2011-09-15 15:37 72 -> pipe:[1836729]
lrwx------ 1 wl wl 64 2011-09-15 15:37 73 -> socket:[1836739]
l-wx------ 1 wl wl 64 2011-09-15 15:37 75 -> pipe:[1831741]
lrwx------ 1 wl wl 64 2011-09-15 15:37 8 -> socket:[640962]
lr-x------ 1 wl wl 64 2011-09-15 15:37 9 -> pipe:[640966]
Пользователь решил продолжить мысль 15 Сентября 2011, 15:51:56:
И лично для меня стало новостью, что другая прога может не только скопировать этот открытый файл, но ещё и грохнуть его. Мне представлялось, что на открытом файле я должен был вывалиться на try{}catch(...){} и тупо на него забить.
Да вот еще!
Это не Windows, root должен быть в состоянии сделать все - в том числе и удалить любой файл.
А иначе это угроза безопасности.
Пользователь решил продолжить мысль 15 Сентября 2011, 19:26:50:
Не, все-таки, дописать пару вызовов fcntl в код, создающий авишники, гораздо проще, чем сканировать /procfs.
Эти вызовы ничего не испортят.
И работать будет надежнее, т.к. это будет информация из первых рук.