gpt4 book ai didi

http - Wget 挂起,脚本停止

转载 作者:可可西里 更新时间:2023-11-01 17:10:28 27 4
gpt4 key购买 nike

晚上,

我正在使用 xargs 运行很多 wget 命令

cat urls.txt | xargs -n 1 -P 10 wget -q -t 2 --timeout 10 --dns-timeout 10 --connect-timeout 10 --read-timeout 20

但是,一旦文件被解析,一些 wget 实例就会“挂起”。我仍然可以在系统监视器中看到它们,完成它们可能需要大约 2 分钟。

无论如何我可以指定实例应该在 10 秒后被杀死吗?我可以重新下载所有失败的 URL。

在系统监视器中,wget 实例挂起时显示为 sk_wait_data。 xargs 在那里作为“do_wait”,但 wget 似乎是问题所在,因为一旦我杀死它们,我的脚本就会继续。

最佳答案

我相信应该这样做:

wget -v -t 2 --timeout 10

根据文档:

  • --timeout:设置网络超时时间为seconds秒。这相当于指定--dns-timeout、--connect-timeout 和 --read-timeout,同时进行。

还要检查详细的输出,看看它在做什么。

另外,你可以试试:

timeout 10  wget -v -t 2

或者您可以在内部执行超时操作:

( cmdpid=$BASHPID; (sleep 10; kill $cmdpid) & exec wget -v -t 2 )

(见:BASH FAQ entry #68: "How do I run a command, and have it abort (timeout) after N seconds?")

关于http - Wget 挂起,脚本停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20576369/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com