Como definir o wget para o tempo limite depois de baixar mais do que uma duração fixa

5

Eu quero wget para (tentar) iniciar o download, então se não for feito após 10 segundos, eu quero desistir.

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, outro 9 pelo connect e continuar baixando para sempre, contanto que os dados continuem chegando em um ritmo constante (sem mais de 10 segundos de pausa).

    
por johv 20.01.2012 / 23:39

2 respostas

1

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
    
por 21.01.2012 / 00:06
0

Isto não é exatamente o que você está perguntando, pois isso só deve fazer com que o Wget limite o tempo de espera se o download ficar ocioso por mais de 10 segundos:

wget --read-timeout= 10 http://url

Sobre a opção --read-timeout , do Wget 1.13.4 Manual :

Set the read (and write) timeout to seconds seconds. The “time” of this timeout refers to idle time: if, at any point in the download, no data is received for more than the specified number of seconds, reading fails and the download is restarted. This option does not directly affect the duration of the entire download.

    
por 23.04.2013 / 15:35

Tags