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

问题描述 投票:4回答:1

我正在尝试使用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'
python
1个回答
0
投票

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

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

proc = subprocess.Popen(
    ['mongod'],
    shell=True,
    creationflags=subprocess.CREATE_NEW_PROCESS_GROUP
)
© www.soinside.com 2019 - 2024. All rights reserved.