Quiero que wget (intente) comenzar a descargar, luego, si no termina después de 10 segundos, quiero que se dé por vencido.
wget --timeout 10 http://url
Parece un intento razonable, pero parece que solo establece --dns-timeout, --connect-timeout y --read-timeout. Por lo tanto, podría esperar 9 segundos para dns, otros 9 para conectarse y luego seguir descargando para siempre, siempre y cuando los datos sigan llegando a un ritmo constante (sin pausas de más de 10 segundos).
Respuesta1
Básicamente esto será algo como:
wget http://www.somesite.com/file.zip &
PID=$!
sleep 10
if [ `ps ax | grep $PID` -ne '' ]
then
kill $PID
fi
Respuesta2
esto no esexactamentelo que estás preguntando, ya que esto solo debería hacer que Wget agote el tiempo de espera si la descarga permanece inactiva durante más de 10 segundos:
wget --read-timeout= 10 http://url
Sobre la --read-timeout
opción, desde elWget 1.13.4 Manual:
Establezca el tiempo de espera de lectura (y escritura) en segundos. El “tiempo” de este tiempo de espera se refiere al tiempo de inactividad: si, en algún momento de la descarga, no se reciben datos durante más del número de segundos especificado, la lectura falla y se reinicia la descarga. Esta opción no afecta directamente la duración de toda la descarga.