AttributeError:模块'os'没有属性'setsid'

时间:2016-06-28 17:58:20

标签: python

我正在尝试使用Anaconda3(64位)连接到MongoDB。我正在使用的代码:

import signal
import subprocess



proc = subprocess.Popen(['mongod'] preexec_fn=os.setsid)

但我收到的错误

AttributeError                            
Traceback (most recent call last) <ipython-input-45-f94c14f3a553> in <module>()
      2 import subprocess
      3 #proc = subprocess.Popen('mongod', close_fds=True)
----> 4 proc =subprocess.Popen(['mongod'], shell=True, preexec_fn=os.setsid)

AttributeError: module 'os' has no attribute 'setsid'

1 个答案:

答案 0 :(得分:1)

在Windows上,您不能使用os.setsidpreexec_fn参数subprocess.Popen也不可用。

您可以使用带有creationflags参数documentation的新流程组创建子流程:

proc = subprocess.Popen(
    ['mongod'],
    shell=True,
    creationflags=subprocess.CREATE_NEW_PROCESS_GROUP
)