Quero que o wget (tente) iniciar o download e, se não for feito após 10 segundos, quero que ele desista.
wget --timeout 10 http://url
Parece uma tentativa razoável, mas parece que apenas define --dns-timeout, --connect-timeout e --read-timeout. Assim, ele poderia esperar 9 segundos pelo DNS, outros 9 pela conexão e continuar baixando para sempre, desde que os dados continuem chegando em um ritmo constante (sem pausa de mais de 10 segundos).
Responder1
Basicamente isso será algo como:
wget http://www.somesite.com/file.zip &
PID=$!
sleep 10
if [ `ps ax | grep $PID` -ne '' ]
then
kill $PID
fi
Responder2
Isso não éexatamenteo que você está perguntando só deve causar o tempo limite do Wget se o download ficar inativo por mais de 10 segundos:
wget --read-timeout= 10 http://url
Sobre a --read-timeout
opção, desde oManual do Wget 1.13.4:
Defina o tempo limite de leitura (e gravação) para segundos. O “tempo” deste timeout refere-se ao tempo ocioso: se, em algum momento do download, nenhum dado for recebido por mais do que o número especificado de segundos, a leitura falha e o download é reiniciado. Esta opção não afeta diretamente a duração de todo o download.