bash脚本的并行执行

Ram*_*esh 7 scripting bash shell-script

URL_Experiment我的数据库中有一个表(mySQL 数据库)。我在这个表中有 200 万个 URL 链接。

对于每个 URL,我正在检查 URL 中是否存在某些特定文本并将信息更新回我的URL_Experiment表中。

现在,我需要让脚本快速运行。我想到的简单解决方案是:

将它们URL_Experiment分成 10 个表(每个表有 200,000 行)并同时运行脚本 10 次。这样,我可以确保更新正确进行。但为此,我需要保存 10 个脚本,每个脚本访问正确的表(我需要将表从 1 重命名为 10)。

虽然以上看起来是一个非常巧妙的解决方案,但我正在寻找一个更复杂的解决方案。将同时(并行)执行相同脚本作为 10 个进程的东西。我关心的是执行时间。我不希望资源在可以利用的时候被浪费掉。

mkc*_*mkc 6

您可以尝试 GNU 并行。可以在此处此处找到许多示例。

我是Swift团队的一员,我们正是为大型研究项目做这些事情。

  • 并行似乎是最好的任务,特别是我会做一些类似`mysql -e 'select ...' | | 并行 --pipe -j10 --round-robin ./scriptname.sh` (3认同)