我有一个包含要运行的命令行的文件。这个文件包含大约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/

10-11 22:03
查看更多