python - 使用 & 并通过 Python 生成时等待 GNU Parallel 进程完成
问题描述
在我当前的应用程序中,我有一个名为 Python 2.7 的脚本main.py
,它启动另一个名为calculator.py
使用 GNU Parallel 的 Python 2.7 脚本,如下所示:
os.system("seq 10000 | parallel -N0 -j 50 nohup python calculator.py &")
print "Done"
这工作得很好,除了一个例外:我需要在GNU Parallel 生成的所有 10000 个实例完成运行main.py
之后(即在os.system
调用之后,例如行之后)继续执行其他命令。print "Done"
有没有合适的方法来做到这一点?使用os.spawn
Python 2.7的解决方案subprocess
都受到欢迎,但使用 GNU Parallel 是绝对必要的。
编辑:这是我的要求:
1)如果终端关闭,生成的许多calculator.py实例对我来说至关重要(因此nohup)
2)我需要它不阻止当前终端会话(因此 &)
3)我需要它在上面的示例中打印“完成”,仅在 10000 个作业完成后才执行
如果不可能同时实现上述所有目标,我想我可以手动记录所有启动的进程,然后在所有这些进程结束后手动强制其余代码“main.py”代码继续。当然,这是一个麻烦的最后资源选项。
解决方案
推荐阅读
- java - Heroku Hobby Plan 的 slug 大小限制是多少?
- react-native - React Native WebView ios Native 模块不能为空
- ssis - 脚本任务未中止 FireError 上的执行
- android - 带有底部导航视图的协调器布局
- javascript - 为什么要提醒(~5);输出 = -6?
- mysql - 将另一个表导入 MySQL 数据库中的列。收到错误“表已满”
- java - 如何从 json 文件中获取 json 对象
- python - 使用 python 使用 open-CV 查找对象的测量值
- c++ - 在C ++中将基类分配给派生类,反之亦然以及静态和动态对象之间的区别
- ios - 新版本的设备 ID 正在更改