关于子进程:如何在主进程不挂起的情况下运行另一个进程?

How to run another python program without holding up original?

本问题已经有最佳答案,请猛点这里访问。

在python中,什么命令可以用来运行另一个python程序?它不应该等待子进程终止,而是继续。它也不需要记住它的子进程。


使用subprocess

1
2
3
4
5
import subprocess

#code
prog = subprocess.Popen(['python', filename, args])
#more code

如果另一个python程序是可导入的,并且您需要的功能可以通过函数调用,那么最好使用多处理而不是subprocess,因为参数可以作为python对象而不是通过字符串传递:

1
2
3
4
5
import somescript
import multiprocessing as mp

proc = mp.Process(target=somescript.main, args=...)
proc.start()