shell 使用所有内核运行bash脚本[已关闭]

rmbxnbpk  于 2022-12-27  发布在  Shell
关注(0)|答案(1)|浏览(155)

已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。

2天前关闭。
Improve this question
找了一会儿之后,我还没有找到任何一行命令的解决方案(或类似的简单方法,如timetimesnice)来运行我的bash脚本(相当复杂的一个,由几百行组成,具有各种工具,例如awksedpastepostgresogr),使用所有内核(例如,使用top时,它只显示#CPU1正在工作,脚本需要13分钟才能完成)。Parallel GNU工具很神奇,但它不能用于运行脚本afaik(如果我理解得很好,我需要在脚本中的每个调用中添加parallel)。
任何指示都很受欢迎。

mec1mxoz

mec1mxoz1#

1.您的要求是利用多个内核在单个输入上运行单个脚本。

  1. bash脚本本质上是一个顺序程序。
  2. bash脚本可以在后台启动一些命令,这些命令可以使用额外的内核。对于同步,可以使用 wait 命令。
  3. GNU Parallel将在多个输入上运行单个脚本;每个 script-input 调用与其他 script-input 调用并行。不适用于您的用例。
    你所寻找的是一个程序,它能自动地把一段顺序逻辑分割成并发的部分,然后执行它;对于bash脚本也是如此。
    这是很高级的要求。
    不太可能有人会花时间为bash脚本编写这样的程序。

相关问题