Я пришел, чтобы запустить скрипт на рабочей коробке, и он не прошел одну из первых проверок.Я сузил его до того факта, что моя проверка ping (вызванная подпроцессом) возвращает ненулевой результат.
Вот код в его простейшей форме:
import subprocess
import sys
ip="127.0.0.1"
ping = subprocess.Popen(["ping", "-c", "2", "-w", "1", ip], shell=False)
ping.wait()
if ping.returncode != 0:
print ping.returncode, "ERROR: failed to ping host. Please check."
sys.exit(1)
else:
print "OK"
Оба сервера - CentOS 5.5 и Python 2.4.3, но один работает, а другой нет!
Из командной строки ручной пинг (из 127.0.0.1) возвращает 0 в обоих случаях.Чем они отличаются при использовании модуля подпроцесса в python?
Приветствия.