У меня есть система Clipper, записывающая CSV-файлы в каталог Windows. У меня есть скрипт Perl, работающий на сервере Linux, который читает монтирование этого каталога Windows и импортирует файлы в базу данных.
Сейчас мы используем файлы флагов, чтобы указать, когда csv больше не записывается; файл флага записывается после завершения csv. Я действительно предпочел бы просто получить то, что мне нужно, от самого csv, но я не могу найти способ определить, когда файл открыт и записывается.
lsof
не отвечает моим потребностям. Я попытался использовать flock
и открыть файл с эксклюзивной блокировкой, думая, что это может вызвать ошибку, если файл изменяется, но это не так.
Есть мысли?