2

Мне нужно написать сценарий оболочки Unix tran.sh, который перемещает входные файлы csv из папки /exp/files каталог /exp/ready . Входные файлы csv записываются в папку /exp/files сервером SFTP, поведение которого я не могу тривиально изменить.

В сценарии оболочки tran.sh мне нужно убедиться, что перед перемещением этого входного файла csv из каталога /exp /files больше никакой другой процесс не записывает в файл. Как я могу переместить это?

1 ответ1

3

lsof может быть тем, что вы хотите (это, в конце концов, команда для list open files). Если у ваших файлов есть известное соглашение об именах, запустите команду lsof <filename> чтобы проверить, действительно ли он используется процессом. Если это не так, lsof вернет ненулевой код возврата.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .