我正在运行一堆shell脚本,如 parallel -a my_scripts bash
并且在某些时候,我决定我已经运行了足够的这些脚本,并且希望停止产生新的作业,并让所有现有作业完成。换句话说,我想杀死父母的过程而不杀害孩子。如何在不杀死正在运行的作业的情况下终止GNU并行?
似乎有ways of controlling termination when first launching GNU parallel(例如,如果我事先知道,我只想要运行x
工作,然后我可以使用--halt now,success=x
参数),但我找不到如何控制GNU平行时,它已经在运行。
当然,我可以只是CTRL+C
杀死并行,并重新运行被中止的工作,但我认为可能有一个更聪明的方法。
有可能是一种方式与** GNU并行**做到这一点,但另一种选择可能是使用Redis的这样...... https://stackoverflow.com/a/22220082/2836621 –
**任务后台程序**可能是另一种可能性... http://www.ubuntugeek.com/task-spooler-personal-job-scheduler.html –