【发布时间】:2017-12-03 08:36:57
【问题描述】:
我有一个成功运行的 Python 程序。如果我改变这一行:
os.system("ls /path")
到这里:
subprocess.Popen(["ls /path"], shell=True)
那么ls命令产生如下错误:
ls: cannot access '/path': Software caused connection abort
这两种运行ls的方法有什么不同?
注意/path 是我正在测试的 FUSE 文件系统的挂载点。我确信这是相关的,因为当ls 命令指向非 FUSE 路径时,我观察到上述两种情况之间没有区别。但是 Python 做了什么不同的事情来让ls 触发不同的行为?
这是 Ubuntu 16.04 上的 Python 3.5。
【问题讨论】:
-
Software caused connection abort听起来 FUSE 的插座出了点问题。出现此错误后,您的文件系统是否仍然挂载和运行?
标签: python subprocess fuse