Python 3.x 从python脚本运行数据库服务器时是否需要多线程

Python 3.x 从python脚本运行数据库服务器时是否需要多线程,python-3.x,postgresql,multithreading,Python 3.x,Postgresql,Multithreading,我第一次使用postgres数据库。我在Windows10和Lubuntu的miniconda中使用Python3 我想从python脚本(在cron上)启动数据库服务器。当它启动时,我的脚本中不会执行任何其他内容。我需要多线程还是其他什么 谢谢大家我尝试了subprocess.run()而不是os.popen(),它可以正常工作通常,subprocess.run()用于这些目的。谢谢我找到了这篇文章。这似乎很有希望:@AmabDerun()[或call()]可能就是@David现在使用的方法,

我第一次使用postgres数据库。我在Windows10和Lubuntu的miniconda中使用Python3

我想从python脚本(在cron上)启动数据库服务器。当它启动时,我的脚本中不会执行任何其他内容。我需要多线程还是其他什么


谢谢大家

我尝试了subprocess.run()而不是os.popen(),它可以正常工作

通常,subprocess.run()用于这些目的。谢谢我找到了这篇文章。这似乎很有希望:@AmabDe
run()
[或
call()
]可能就是@David现在使用的方法,因为它们描述了这些方法产生的潜在阻塞行为。可能是
Popen()
因为它是非阻塞的,或者
run()
但是在后台启动postgres:我已经尝试过Popen()。发生的情况是,从python脚本开始,我用Popen('pg_ctl-D path/to/dbCluster start')启动服务器,然后脚本的所有其余部分都不会执行,因为它正在运行服务器。在这种情况下,子流程似乎是可行的。我尝试了Subprocess.run()而不是os.popen()。这在行为上有点不同,但它是有效的。谢谢你的帮助!