
dig
공용 IP 주소를 찾기 위해 유틸리티를 사용하고 있습니다 .
내가 사용하는 명령은 다음과 같습니다
dig +short myip.opendns.com @resolver1.opendns.com
그런데 일부 다른 컴퓨터에서는 시간이 오래 걸려서 문제가 생겨서 다음을 추가했습니다.5초 후 시간 초과:
dig +short +time=5 +tries=1 myip.opendns.com @resolver1.opendns.com
일부 컴퓨터에서는 예상대로 실패하지만 다른 컴퓨터에서는 완료되지 않습니다. 그냥 매달리는 것뿐인데...
예상되는 5초 후에 시간 초과가 발생하는 이유와 해결 방법을 아시나요?
편집하다:
이미 시도했지만 timeout
여전히 중단됩니다. DNS를 확인하는 동안 중단된 것 같습니다. 예를 들어, 나는 할 수 없지만 ping www.google.com
할 수 있습니다 172.217.20.4
.
답변1
일부 유틸리티에서 애플리케이션 시간 초과를 사용하는 경우 연결 문제가 있을 때 애플리케이션이 외부 "강제"로 인해 자체적으로 중지된다는 보장이 항상 있는 것은 아닙니다.
문제가 있는 상황이 발생하는 경우에 대비해 잠시 후 외부 유틸리티를 사용하여 종료합니다.
좋다:
timeout 5 dig +short +time=5 +tries=1 myip.opendns.com @resolver1.opendns.com
~에서man timeout
이름의 맨 위
timeout - run a command with a time limit
요약 상단
timeout [OPTION] DURATION COMMAND [ARG]... timeout [OPTION]
설명 상단
Start COMMAND, and kill it if still running after DURATION.