我有一个包含要运行的命令行的文件。这个文件包含大约2000行。
我有8个可用的内核。是否可以解析文件并启动8个进程,然后在其中一个程序完成时从文件中执行另一个进程?我希望此操作继续,直到到达文件结尾。
最佳答案
您可以使用XARG读取文件,同时将进程的最大数量限制为可用内核的数量。例如:
cores=$(fgrep -c processor /proc/cpuinfo)
xargs --arg-file=/tmp/foo \
--max-procs=$cores \
--replace \
--verbose \
/bin/sh -c "{}"
关于bash - 如何并行运行命令列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11488184/