使用Bash,如何在暂停/停止状态下启动后台作业?
我必须执行大约一百个内存密集,耗时的过程。顺序运行它们需要很长时间:
for i in inputs-list; do
memory-hog $i
done
然而同时运行它们会杀死我的机器:
for i in inputs-list; do
memory-hog $i &
done
我希望我的流程以背景,暂停工作开始;然后我会使用bg
恢复其中一些,同时监控内存消耗。
答案 0 :(得分:2)
在后台启动每个流程,然后发送SIGSTOP
:
for i in inputs-list; do
memory-hog $i &
kill -SIGSTOP $!
done