使用 python 2.7 实现子进程模块的 os.system(cmd &) 行为

Achieve os.system(cmd &) behaviour with subprocess module using python 2.7

可能是 How to start a background process in Python?

的副本

但在许多解决方案中,只有 os.system(commandToRunInBackground &) 似乎很简单并且可以解决问题。 虽然,根据 Replacing os.system(), using subprocess 模块更推荐。 那么如何使用 subprocess 模块根据 shell(注意,最后是 &)运行 后台处理。

在现代操作系统中,自然地 运行 并行处理,一个等待另一个终止是一种特殊情况。在 60 年代后期设计 & 语法时,情况有所不同。然后你必须标记并行执行。

在 shell 上,这一直持续到今天,也是因为在许多情况下让 shell 在允许用户下一次输入之前等待命令终止很方便,所以还有没有&等待终止的情况

在编程层面上,&(并行执行)的情况是正常情况,无需执行任何操作。

没有&(等待终止)的情况可以通过显式使用wait()系统调用来实现(这就是shell在大多数情况下所做的)。

对你来说,只需使用 Popen 而不要调用 wait() ;-)