python - 在 Python 中 fork 多个 shell 命令/进程的最佳方法?

标签 python shell

我在 os.fork 和 subprocess/multiprocessing 模块中看到的大多数示例都展示了如何 fork 调用 python 脚本的新实例或 python 代码块。同时生成一组任意 shell 命令的最佳方法是什么?

我想,我可以只使用 subprocess.call 或其中一个 Popen 命令并将输出通过管道传输到一个文件,我相信它会立即返回,至少给来电者。我知道这并不难,我只是想找出最简单、最 Pythonic 的方法来做到这一点。

提前致谢

最佳答案

所有对 subprocess.Popen 的调用都会立即返回给调用者。这是对 waitcommunicate 的调用哪个 block 。因此,您需要做的就是使用 subprocess.Popen(将 stdin 设置为/dev/null 以确保安全)启动多个进程,然后一个接一个地调用 communicate直到它们全部完成。

自然地,我假设您只是想启动一堆不相关的(即没有通过管道连接在一起的)命令。

关于python - 在 Python 中 fork 多个 shell 命令/进程的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8090084/

相关文章:

python - 为什么输出总是为零?

c - GDB 在 shell 生成时卡住

shell - 每当遇到逗号时在文件中插入换行符 - Shell 脚本

shell - Visual Basic Shell%USERPROFILE%

node.js - 运行 npm 脚本时 npm 使用哪个 shell?

javascript - Django 在 `model.save()` 之后不更新 HTML 模板

python - 在树中实现 children.children

python - 访问容器中的数据库

python - 如何解释在信号处理程序中打印导致的可重入 RuntimeError?

bash - 使用 shell 脚本的内容创建文件