【发布时间】:2016-12-13 21:11:59
【问题描述】:
使用 Bash,如何在挂起/停止状态下启动后台作业?
我必须执行大约一百个内存密集型、耗时的进程。按顺序运行它们需要很长时间:
for i in inputs-list; do
memory-hog $i
done
同时运行它们会杀死我的机器:
for i in inputs-list; do
memory-hog $i &
done
我希望我的进程作为后台暂停作业启动;然后我会使用bg 来恢复其中的一些,同时监控内存消耗。
【问题讨论】:
-
也许
man xargs并搜索-P(进程数)可能会对您有所帮助。无论如何,您都会为此而发疯,要么多借一些电脑,要么寻找像GNU parrallel这样的工具。祝你好运! -
使用 GNU Parallel 控制一次运行的数量并根据内存压力进行调度。
标签: bash sh background-process jobs