并行运行 shell 函数的多个实例[重复]

2023-12-02

我有一个 shell 脚本,如下所示。

#!/bin/bash

myfunc() {
   #do something (call a rest service)
   sleep 300
   status=$(get status of the operation performed above)
   while [ "$status" != "succeeded" ]; do
       #do something (call a rest service)
       sleep 300
       status=$(get status of the operation performed above)
   done
}

a=0

while [ $a -lt 1000 ]
do
   a=`expr $a + 1`
   myfunc
done

在最好的情况下,上面的脚本至少需要5*1000=5000秒完成运行。

有没有办法使myfunc调用并行,以便我们可以让 while 循环生成多个正在运行的实例myfunc??

注意:不知何故,这个脚本应该等到所有实例myfunc处决已完成。


我认为你可以按如下方式更新你的脚本:

#!/bin/bash

myfunc() {
   job_id=$1
   echo "Started job ${job_id}..."

   #do something (call a rest service)
   sleep 300
   status=$(get status of the operation performed above)
   while [ "$status" != "succeeded" ]; do
       #do something (call a rest service)
       sleep 300
       status=$(get status of the operation performed above)
   done

   echo "Terminated job ${job_id}."
}

a=0

while [ $a -lt 1000 ]
do
   echo $a
   a=(($a + 1))
   myfunc $a &
done

wait
echo "Parallel execution terminated."
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

并行运行 shell 函数的多个实例[重复] 的相关文章

随机推荐

  • 使用 CSS,如何创建*粗*超过 1 像素的文本描边轮廓?

    下面是我用来制作 1px 文本描边轮廓的代码 但是如何使轮廓变粗呢 如果我只是将所有 1px 替换为 5px 结果看起来很疯狂 HTML div class element Hello div CSS element color white
  • 如何利用HTTP header XSS漏洞?

    假设一个页面只是打印 HTTP referer 标头的值 没有转义 因此 该页面容易受到 XSS 攻击 即攻击者可以使用包含类似内容的引用标头来制作 GET 请求 但如何才能真正使用它来攻击目标呢 攻击者如何使用该特定标头向目标发出特定请求
  • 为类型别名元组添加 Impl (f64, f64)

    我有一个自定义类型 Point type Point f64 f64 我想添加两个Point在一起 但我收到此错误 error E0368 binary assignment operation cannot be applied to t
  • 后续:从 lme4 中的 VarCorr 对象中提取名称并将其粘贴为列名称

    我正在跟进这个很好的答案 功能foo下面 取Name的列VarCorr fit 输出并使它们成为列名summary rePCA fit call 当我们输入时效果很好fm1 fm2 但我想知道为什么它失败了fm3 有解决办法吗 librar
  • 我有 recyclerview 和 searchview 如何发送有关我搜索的项目的详细信息数据

    我有带有 searchview 的 recyclerview 并且在 recyclerview 中选择项目时发送详细数据 问题是当我搜索项目并选择它时 详细信息数据不会更改总是出现第一个项目的详细信息数据 我如何发送有关我搜索的项目的详细数
  • 如何使实体只读?

    使用 JPA 使实体只读的正确方法是什么 我希望我的数据库表永远不会以编程方式修改 我想我明白我应该用以下方式锁定我的对象LockModeType READ 是否可以使用注释使我的实体在从数据库检索后直接锁定 或者我是否必须为该特定实体搞乱
  • 在查询结束之前开始查看查询结果

    假设我查询一个包含 500K 行的表 我想开始查看获取缓冲区中保存结果集的任何行 即使查询尚未完成 我想滚动浏览提取缓冲区 如果我滚动得太远 我想显示一条消息 例如 到达获取缓冲区的最后一行 查询尚未完成 当查询继续构建结果集时 可以使用
  • 类定义如何才能不占用内存呢?

    所以我读过this关于类定义是否占用内存以及this关于if函数占用内存 这是我不明白的 如果函数占用内存 或者它们的代码占用内存 类定义为什么不占用内存 我的意思是 类定义也是代码 所以它不应该像函数代码一样占用内存吗 说类定义不占用内存
  • 在R中打印unicode字符串

    我输入了一个文本字符串 csvfile 其中包含 unicode 符号 如下所示 U00B5克 分升 在 csv文件以及在 R 数据帧中读取 test read csv test csv U00B5将产生微符号 R 按原样将其读入数据文件
  • 使用多个线程多次调用一个方法

    我想要一个 LED 闪烁 同时我的 Raspberry 上正在做一些工作 我在 Python 脚本中使用 LED 线程 初始代码 import RPi GPIO import time import threading pinLED 10
  • ModelState 对于可为 null 的属性无效

    我有一个模型 其中属性 CompanyID 允许空值 public partial class ReportTemplateItem Key public int ReportTemplateItemID get set Required
  • 如果 Google 表格中的单元格发生更改,则触发电子邮件

    我有一张表 我们可以在 Google 表格中跟踪部门指标 当指标发生变化时 我试图将其发送到电子邮件 我正在使用 counta 在范围 P2 中 来监视是否有新指标进入 并且我想在范围内的值发生变化时触发电子邮件 function onEd
  • 如何移动嵌套数组中的元素

    我想移动嵌套数组中的元素 所以 这是我的数据 let products product name A id 5ace995c14a759325776aab1 transactions id 5ad3a274ac827c165a510f99
  • 信息索引(emacs 内和外)

    信息是否提供任何设施来链接foo info文件到信息的主索引 上下文是这样的 我想避免维护我自己的索引 信息页面foo info is in abc def foo info 这个想法是能够打字info foo并开始阅读该页面 或者在 em
  • 如何检查 jQuery 插件是否已加载?

    有什么方法可以检查特定插件是否可用 想象一下 您正在开发一个插件 该插件依赖于另一个正在加载的插件 例如 我希望 jQuery 验证插件使用 dateJS 库来检查给定日期是否有效 在 jQuery Valdation 插件中检测 date
  • 无法连接到 WiFi 网络

    我是 Android 开发新手 正在尝试使用 Android SDK 连接到 WiFi 网络 断开连接的代码工作正常 但重新连接失败 这是我的代码 try WifiConfiguration conf new WifiConfigurati
  • Groovy 更新导致 PermGen 中大量死亡 GroovyClassLoader

    我有一个 Java 7 项目 每 n 分钟由 n 个进程运行一次脚本 以下是运行脚本的代码示例 ScheduledFuture scheduledFuture scheduledService scheduleAtFixedRate new
  • 如何通过 websocket 发送 pygame 图像?

    我目前正在尝试编写一些代码 让网站可以查看我的网络摄像头 我大致按照链接的教程进行操作这个网站 除了使用 Python 和 pygame 而不是Processing 目前 我的代码正在抓取一个 pygame 图像 最初是一个 SimpleC
  • React:渲染函数中的条件语句

    我有一系列不同艺术家创作的物品 我想根据图像是否在单个对象中显示不同的内容 我试过放一个if else在我的渲染方法中声明 但这当然不起作用 请参阅下面我的代码 render function var cardList this props
  • 并行运行 shell 函数的多个实例[重复]

    这个问题在这里已经有答案了 我有一个 shell 脚本 如下所示 bin bash myfunc do something call a rest service sleep 300 status get status of the ope