Я использую библиотеку ruby Net-SFTP для загрузки папки с файлами на удаленный сервер с помощью загрузки! команду и обнаружив, что когда я восстанавливаю контроль, загрузка папки еще не завершена. Это было бы не так важно, за исключением того факта, что мне нужно изменить права доступа к этой папке, и я не могу выполнить их с помощью команды загрузки из-за umask на удаленном сервере. У меня нет учетной записи root на удаленном сервере, поэтому в основном мне нужно дождаться появления папки, а затем изменить ее разрешения. Когда я пытаюсь изменить разрешения, иногда папки еще нет, но в конце концов она появится. Я думаю, мой вопрос двоякий.
1.) Почему не блокируется вызов загрузки! фактически блокируется, пока папка не будет создана. 2.) Есть ли какой-то способ заставить его заблокироваться вызовом более низкого уровня, или мне нужно подождать пару секунд, а затем опросить, чтобы увидеть, есть ли папка?
ОБНОВЛЕНИЕ: я подозреваю, что настоящая проблема заключается в том, что я пытаюсь изменить разрешения через отдельное соединение ssh, которое может быть или не быть той же машиной, на которой я вхожу в кластер. Другими словами, папка была создана на одном компьютере, но не была реплицирована на другие к моменту, когда я пытаюсь изменить разрешения. Есть ли способ закрыть вопрос?