2012-02-09 5 views
2

나는 리눅스 platorm에서 TCL로 핑 명령 응답을 구현해야한다. 서버가 연결되었는지 여부에 따라 TCL에서 true 또는 false 플래그를 가져와야합니다. 그것을 기반으로 일부 조작을해야합니다.TCL 핑 응답을 얻는 방법

하나라도 도와주세요.

답변

3

그냥 ping 바이너리와 그 오류 코드를 잡아라 : 유닉스 ping은 호스트의 도달 가능성을 확인하는데 성공했는지 여부에 따라 0, 1 또는 2를 반환한다.

당신은 probablty ping-n N-q 옵션을 사용하고 /dev/null에 자사의 표준 출력 및 표준 오류를 리디렉션해야합니다.

exec을 통해 외부 프로그램을 호출하고 가능한 오류를 잡는 방법에 대한 예는 exec 매뉴얼 페이지의 "Unix"섹션을 참조하십시오.

또한 간부 아마 유닉스 시스템에 대한 충분한 사용 this wiki page.

+0

https://bitbucket.org/naviserver/nsicmp/overview가 정말 연결하는 솔루션으로 내가 권하고 싶습니다 위키 페이지, bitrotted있다 할 수 없음 : 주위 파고 멀티 플랫폼 스크립트

에서 사용하기를 들어, nsicmp TCL 패키지는 ICMP 핑 지원을 제공 할 것으로 보인다. :-( –

+0

@DonalFellows,이 링크는 저에게 도움이됩니다 http://www.networkcomputing.com/unixworld/tutorial/11.txt.html#sect2 - 정말 유용하지는 않습니다. ('exec' 매뉴얼 자체가 더 철저합니다. 0이 아닌 반환 값을 처리하는 것에 대해)하지만 적어도 Tcl 내에서'ping '을 실행하는 것에 대한 두려움을 제거 할 수 있습니다 ;-) – kostix

1

참조,하지만 당신은, 예를 더 직접적인 방법을 사용 할 수 있습니다.