0
은 여기 내 간단한 예입니다파이썬에서 ping 오류를 잡는 방법?
import subprocess
cmd = 'ping something.local -c 1'
tail = 'tail -n 3'
ping = subprocess.Popen(cmd.split(' '), stdout=subprocess.PIPE)
tail = subprocess.Popen(tail.split(' '), stdin=ping.stdout, stdout=subprocess.PIPE)
ping.stdout.close()
out, err = tail.communicate()
print 'Print values:'
print out
print err
그리고 여기에 스크립트의 출력 예입니다
[~/python]$ python ping_stats.py
ping: cannot resolve tpeo.local: Unknown host
Print values:
None
그래서, 내 변수 out
및 err
는 "빈"하지만 나는 ping: cannot resolve tpeo.local: Unknown host
오류 메시지가 필요 . 나는 그것을 어떻게 얻을 수 있는가?
사용 os.system을합니다. 그리고 응답 코드 –
을 확인하십시오. 서브 프로세스로는 불가능합니다 .Popen? –