[英]Run a child process free of the parent in Python
我有一个正在另一个程序中运行的程序。 子进程运行时,父程序冻结。 有没有办法在操作系统中将子进程作为父进程本身运行?
您可以使用subprocess.Popen
,假设您确实在尝试启动与父Python脚本完全独立的程序:
import subprocess
subprocess.Popen(["command", "-a", "arg1", "-b", "arg2"])
这将启动command
作为调用脚本的子进程,而不会阻塞等待它完成。 如果父进程退出,则子进程将继续运行。
如果您真的想拥有独立的流程,请查看multiprocessing
模块。 如果在同一OS进程中运行一个单独的线程就足够了,请使用threading
。 还是您有兴趣从带有subprocess
的Python脚本中启动外部程序?
不幸的是,术语有点混乱。 例如,在Linux中,“线程”和“进程”都是独立的进程,没有真正的区别。 在python中,“进程”是一个单独的操作系统进程,线程在同一操作系统进程中运行。
有关这些的更多信息,您可以看一下以下问题: 多处理与线程化Python
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.