
wget이 다운로드를 시작(시도)하고 싶고, 10초 후에도 완료되지 않으면 포기하고 싶습니다.
wget --timeout 10 http://url
합리적인 시도처럼 보이지만 --dns-timeout, --connect-timeout 및 --read-timeout만 설정하는 것 같습니다. 따라서 데이터가 꾸준한 속도로 계속 제공되는 한(10초 이상 일시 중지 없음) DNS를 위해 9초, 연결을 위해 또 다른 9초를 기다린 다음 영원히 다운로드를 계속할 수 있습니다.
답변1
기본적으로 이는 다음과 같습니다.
wget http://www.somesite.com/file.zip &
PID=$!
sleep 10
if [ `ps ax | grep $PID` -ne '' ]
then
kill $PID
fi
답변2
이건 아니다정확히다운로드가 10초 이상 유휴 상태인 경우에만 Wget의 시간 초과가 발생하므로 요구하는 내용은 다음과 같습니다.
wget --read-timeout= 10 http://url
--read-timeout
옵션에 대해서는Wget 1.13.4 매뉴얼:
읽기(및 쓰기) 제한 시간을 초로 설정합니다. 이 제한 시간의 "시간"은 유휴 시간을 나타냅니다. 다운로드 중 어느 시점에서든 지정된 시간(초) 이상 데이터가 수신되지 않으면 읽기가 실패하고 다운로드가 다시 시작됩니다. 이 옵션은 전체 다운로드 기간에 직접적인 영향을 미치지 않습니다.