일정 기간 이상 다운로드한 후 wget을 시간 초과로 설정하는 방법

일정 기간 이상 다운로드한 후 wget을 시간 초과로 설정하는 방법

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 매뉴얼:

읽기(및 쓰기) 제한 시간을 초로 설정합니다. 이 제한 시간의 "시간"은 유휴 시간을 나타냅니다. 다운로드 중 어느 시점에서든 지정된 시간(초) 이상 데이터가 수신되지 않으면 읽기가 실패하고 다운로드가 다시 시작됩니다. 이 옵션은 전체 다운로드 기간에 직접적인 영향을 미치지 않습니다.

관련 정보