有时 wget 只是挂起,而它应该使用 --continue 重新启动

有时 wget 只是挂起,而它应该使用 --continue 重新启动

有时 wget 只是在下载过程中挂起:

50% [===================>                   ] 500,000  500KB/s  eta 5m 5s

我最终只是做了一个wget --continue重新启动它的操作,它似乎工作了一段时间,直到它再次挂起。

想知道(a)是否有办法让它在这种情况下抛出错误,或者(b)自动重新启动(也许使用一些外部包装脚本)。

此外,如果您碰巧知道这种情况可能发生或正在发生的事情的一般原因,那么了解这一点会很有趣,但不是必需的。主要只是想知道如何让它重新启动(或者至少抛出一个错误)。

顺便说一句,“挂起”我的意思是它只是坐在那里,终端没有任何变化,等等。但它似乎并没有导致内存泄漏或导致我的计算机的 CPU 被超越,所以它嗡嗡作响并且没有剩余的 CPU。相反,它只是坐在那里,我必须重新启动它。

我也尝试过这个,但它没有做任何事情:

wget --continue --tries=0 --read-timeout=10 http://domain.com/foo/bar.zip

另外,我仍然可以在不同终端窗口中的不相关域上同时运行多个其他 wget,所以也许是该域永远不会响应或其他什么。不知道该怎么办。

答案1

'--超时=秒'

将网络超时设置为秒秒。这相当于同时指定“--dns-timeout”、“--connect-timeout”和“--read-timeout”。

https://www.gnu.org/software/wget/manual/wget.html#Basic-Startup-Options

http://man7.org/linux/man-pages/man1/timeout.1.html

while true;do wget -T 15 -c "$URL" && break;done

https://stackoverflow.com/a/30986740/1133275

相关内容