Скажем, я загружаю файл с помощью wget на серверную машину через SSH, и из-за некоторых проблем с интернет-соединением ssh выгоняет меня, говоря о сломанной трубе. Что происходит с загрузкой wget? Остановится ли это или продолжится? Если это будет продолжаться, как вы вернетесь, чтобы увидеть процесс загрузки?
2 ответа
Предполагая, что это то, что вы имеете в виду:
- Вы подключены к удаленной машине по SSH.
- Вы начинаете загрузку с помощью
wget
. - Ваше SSH-соединение как-то разрывается, но удаленная машина хорошо подключена к серверу, с которого она загружается.
В таком случае в большинстве случаев wget
продолжает работать. Вы можете убедиться в этом, отслеживая размер файла, периодически загружаемого с другого компьютера. Более того, если вы переподключитесь к удаленной машине через новый сеанс SSH, вы можете wget -c
для того же файла. Это приведет к тому, что два экземпляра wget
загрузят один и тот же файл - не очень хорошо. По сути, старый экземпляр wget
будет работать до тех пор, пока загрузка не будет завершена, или вы явно убьете его, запустив killall wget
из нового сеанса SSH.
Он уже получит все данные, которые он может заблокировать, может быть, несколько пакетов, которые все еще находятся в пути при странных обстоятельствах. Вы не должны получать дальнейшие данные с сервера.
Wget поддерживает возобновление загрузки, хотя это зависит от того, принимает ли удаленный сервер перезапуск, что не всегда происходит, особенно для SSL, поскольку шифрование делает задачу более сложной.
Как предложил @Aftnix, попробуйте еще раз запустить команду с -C
чтобы посмотреть, сможете ли вы возобновить загрузку.
Может также быть так, что запрос не был выполнен на ранней стадии? В этом случае, возможно, ничего не было найдено по сломанному запросу.
ОБНОВЛЕНИЕ: Ах, я только что понял, что это был SSH, из которого тебя выгнали! Не команда wget! Результаты этого в значительной степени совпадают, хотя. Удаленная команда wget была бы прервана из памяти, как только разорвалось соединение SSH. Если wget получил что-нибудь полезное, он будет в папке, из которой вы выполнили команду, если вы не перенаправили вывод куда-либо еще.
При работе с ненадежными ссылками SSH вы должны обычно использовать screen
чтобы прекращение ссылки не нарушало ваши команды.