属性错误:模块'os'没有属性'setsid'



我正在尝试使用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'

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

您可以使用创建Flags的参数文档的新过程组创建子过程:

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

最新更新