我正在尝试使用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'
答案 0 :(得分:1)
在Windows上,您不能使用os.setsid
,preexec_fn
参数subprocess.Popen
也不可用。
您可以使用带有creationflags参数documentation的新流程组创建子流程:
proc = subprocess.Popen(
['mongod'],
shell=True,
creationflags=subprocess.CREATE_NEW_PROCESS_GROUP
)