我正在使用python subprocess模块来运行一些命令并将其输出存储在后台。该命令部署在我的机器上。现在,每当我从shell提示符运行命令,它工作正常。但是,当我尝试使用子模块运行相同的命令,它提供了以下错误在后台运行命令
要执行的命令是vxswadm listswitch all
process = subprocess.Popen('vxswadm listswitch all > tmp.txt &',shell=True)
>>> Traceback (most recent call last):
File "/usr/bin/vxswadm", line 30, in <module>
l.uname = os.getlogin()
OSError: [Errno 25] Inappropriate ioctl for device
谁能帮我解决这个错误。任何建议都会有所帮助。在此先感谢
Tazim
它可能是您处理stdout的方式,或者是stdout本身出现的错误。你是否能够在python之外成功运行该命令? – 2010-06-23 10:33:26
yes命令在shell提示符下正常工作 – tazim 2010-06-23 10:35:07