Нужно в unix при просмотре каталога определить файлы, которые в этот каталог копируются внешним приложением, т.е. пишутся и еще не закрыты (слежение за изменением размера не покатит). Интересуют ОСы солярис, линукс и чпукс.
Как это сделать я не знаю. В Windows достаточно попытаться открыть файл в эксклюзивном режиме и становится понятно, что файл уже кем-то открыт. В unix'е можно воспользовать fcnt с флагом F_SHARE. Но это будет добровольная блокировка, что не устраивает, т.к. обязывает все внешние приложения пишущие в данный каталог использовать fcnt с флагом F_SHARE (приложения могут быть от сторонних производителей).
Полагаю, что одинакового решения для всех unix'ов нет, и на каждой платформе нужно использовать свой подход. Если кто-то с по добной проблемой встречался, подскажите пожалуйста (или хотя бы подскажите в какую сторону копать).
P.S. Если это на что-то влияет, то чаще всего проверяемый каталог открыт для доступа по SMB через samba.