Команда `find` обновляет каталог? - PullRequest
0 голосов
/ 06 июня 2019

У меня есть ситуация, когда я жду файл в определенной директории. Так что я делаю здесь следующим образом. (Файл перемещается из другого каталога)

if [ `find $SOURCE_DIR -name $FILE_PATTERN -type f -mmin +$FILE_STABILITY_TIME | wc -l` -ge 1 ]
then This
else
That

Что происходит, когда файл приходит, он создает файл и затем начинает вставлять данные. Теперь я сомневаюсь, что это может не сработать в следующей ситуации.

Файл огромен в гигабайтах, он создает файл и начинает писать в нем. Размер файла остается неизменным некоторое время, а затем изменяется через некоторое время, и процесс все еще записывает данные. Мой процесс просто смотрит на временную метку, и он будет идти, если или иначе на основе условия.

Так есть ли способ убедиться, что запись файла была выполнена? И файл, который я ищу в папке, стабилен. (Полное)

1 Ответ

4 голосов
/ 06 июня 2019

возможно, используйте fuser <path>, чтобы определить, открыт ли файл процессом. Однако это не помешает автору заново открыть файл и добавить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...