我正在运行python 2.6 . 我正在获取子进程抛出[Errno 2]仅当我通过ssh运行脚本时才有这样的文件或目录 .
例如,如果我在机器上手动运行脚本,则没有错误,但如果我执行ssh hostname script.py --host hostname
它会生成错误并告诉我文件“/usr/lib64/python2.6/subprocess.py丢失,但这不是真的,因为两个服务器都有该文件 .
我已经编写了这样的子进程调用:
p4 = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
该命令只包含一个列表 .
任何想法为什么它在本地工作,但不是远程?
1 回答
解决方案是将命令设置为绝对路径,例如,而不是mke2fs,我需要/ sbin / mke2fs .