Когда файл создается на общем носителе Linux NFS, клиент является либо машинами Linux o r mac. Существование или отсутствие файла является ключом к тому, что делать дальше, но проверка не всегда возвращает правильный результат:
Например, я делаю это в perl, это все еще не работает, esp с машинами Mac
write_key_file(); # write a file that must be checked before proceeding
Следующие проверки не всегда могут возвращать true, когда файл существует
Ошибка - эта команда в perl не вернула правильный статус в системе NFS:
if( -e $file){}
Перегретое решение, которое не работает:
sleep(5); # wait 5 seconds
system("ls -ltr"); # force to cache?
if(-e $file){}
Я не собираюсь проверять каждый файл, как это, но есть несколько ключевых мест, где важно получить правильный статус файла.
Есть ли у нас лучшие способы принудительного обновления кэша nfs для определенного файла в определенном каталоге? Спасибо.
Я не уверен, что это проблема XY, но есть несколько слабых точек, которые могут быть решениями.
Настройка клиентов A-NFS
Если на этом этапе есть решение, было бы здорово!
B - exit_code или код возврата функции записи
$exit_code = write_key_file();
Проблема с ним, а не все записи, входят в область кода. это только решает часть проблемы.
C - Отключить кеш-память NFS для определенного файла или каталога для проверки файлов
Мне нужно убедиться, что это возможно и как? если нет и почему?
и я открыт для всех возможных решений, без решения или других возможностей.