繁体   English   中英

在Python中运行没有父进程的子进程

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM