我在 os.fork
和 subprocess/multiprocessing 模块中看到的大多数示例都展示了如何 fork 调用 python 脚本的新实例或 python 代码块。同时生成一组任意 shell 命令的最佳方法是什么?
我想,我可以只使用 subprocess.call
或其中一个 Popen
命令并将输出通过管道传输到一个文件,我相信它会立即返回,至少给来电者。我知道这并不难,我只是想找出最简单、最 Pythonic 的方法来做到这一点。
提前致谢
最佳答案
所有对 subprocess.Popen
的调用都会立即返回给调用者。这是对 wait
和 communicate
的调用哪个 block 。因此,您需要做的就是使用 subprocess.Popen
(将 stdin 设置为/dev/null 以确保安全)启动多个进程,然后一个接一个地调用 communicate
直到它们全部完成。
自然地,我假设您只是想启动一堆不相关的(即没有通过管道连接在一起的)命令。
关于python - 在 Python 中 fork 多个 shell 命令/进程的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8090084/