Python Subprocess返回码 - 不同的结果

时间:2011-04-19 15:22:59

标签: python return-value subprocess

我来到生产箱上运行一个脚本,它在其中一个首次检查中失败了。我把它缩小到我的“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,但是一个有效,一个没有!

在命令行中,手动ping(127.0.0.1)在两种情况下都返回0。在python中使用子进程模块时,为什么它们有区别?

干杯。

0 个答案:

没有答案