在 for 循环中使用 bash wait [重复]

2024-03-10

(我已经搜索过并期望以前有人问过这个问题,但找不到类似的问题,尽管有很多类似的问题)

我希望这个 for 循环在 3 个不同的线程/进程中运行,并且wait似乎是正确的命令

for file in 1.txt 2.txt 3.text 4.txt 5.txt
        do something lengthy &
        i=$((i + 1))
        wait $!
done

但我猜这个构造只启动一个线程,然后等到它完成后再启动下一个线程。我可以放置wait在循环之外但是我该怎么办

  1. 访问pid?
  2. 将其限制为 3 个线程?

The jobsbuiltin 可以列出当前正在运行的后台作业,因此您可以使用它来限制创建的数量。要将您的工作限制为三项,请尝试以下操作:

for file in 1.txt 2.txt 3.txt 4.txt 5.txt; do
  if [ $(jobs -r | wc -l) -ge 3 ]; then
    wait $(jobs -r -p | head -1)
  fi

  # Start a slow background job here:
  (echo Begin processing $file; sleep 10; echo Done with $file)&
done
wait # wait for the last jobs to finish
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 for 循环中使用 bash wait [重复] 的相关文章

  • 如何显示 zsh 函数定义(如 bash“type myfunc”)?

    如何在 zsh 中显示函数的定义 type foo没有给出定义 在bash中 bash function foo echo hello bash foo hello bash type foo foo is a function foo e
  • 文本处理问题:删除其中一列不包含特定值的行

    我有一个制表符分隔的文件 如下所示 input sequence match sequence score receptor group epitope antigen organism ASRPPGGVNEQF ASRPPGGVNEQF
  • Bash 脚本大小限制?

    我有一个 bash 脚本 在 RHEL 或 OS X 上运行时出现以下错误 第 62484 行 意外标记 换行符 附近出现语法错误 第 62484 行 o gz 这是一个自动生成的脚本 用于解决我公司使用的 Grid Engine 计算集群
  • 使用 sed 删除非字母数字字符

    我正在尝试验证一些输入以删除一组字符 只允许使用字母数字字符加 句点 下划线 连字符 我测试了正则表达式 w here http gskinner com RegExr http gskinner com RegExr 它与我想要删除的内容
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • powershell stdin 管道和重定向

    你好 我一直在制作一个小的跨平台脚 本 我可以将其卷曲并通过管道传输到bash和Powershell中 基本思想是服务器向解释器发送一个命令 然后它给出一个命令将所有输出重定向到标准输出 bash 中的一个例子是 some commands
  • 为什么我不能将 sed 的输出重定向到文件

    我正在尝试运行以下命令 someprogram tee dev tty sed s 2 gt output file 但当我去查看时 该文件始终是空白的 如果我删除 gt output file从命令末尾 我可以看到 sed 的输出 没有任
  • Mongodb shell mongo:通常只允许每个套接字地址(协议/网络地址/端口)使用一次。对于套接字:0.0.0.0:27017

    前两天还好好的 现在mongod不起作用 甚至echo ps A grep mongo没有打印任何内容 但它警告错误 每个套接字地址只有一种用途 怎么杀掉它 我也尝试过不同的随机端口 他们怎么可能也失败呢 D mongodb win32 x
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • shell脚本中的\r字符

    我在尝试执行 shell 脚本时收到以下错误 r command not found line 2 请提出同样的解决方案 以下是脚本中使用的初始行 bin sh if lt 1 then echo ERROR Environment arg
  • 通过powershell运行ADB命令

    所以我尝试通过 powershell 脚本运行一些 ADB 命令 这是我正在尝试做的一个简单示例 adb shell echo in adb shell su root echo you are now root ls cd data da
  • 如何执行“sudo nvm”?

    在我的 Mac 上 我想将一些需要 su 权限的包迁移到另一个节点版本 我使用 homebrew 安装 nvm 现在我需要执行 sudo nvm 或 reinstall packages将失败 me MacBook sudo nvm sud
  • 如何在 shell 脚本中操作 $PATH 元素?

    有没有一种惯用的方法从类似 PATH 的 shell 变量中删除元素 这就是我想要的 PATH home joe bin usr local bin usr bin bin path to app bin and remove or rep
  • bash 行长度限制从何而来?

    在运行 Bash 4 4 19 标准安装 的 Solaris 11 上 输入行似乎有 256 个字符的限制 我想了解这个限制从何而来 我浏览了手册页 但没有找到任何解决此问题的内容 仅当未使用 readline 库时才会发生这种情况 在下面
  • if [ -z "${FILE_LIST}" ] 中的 -z 是什么

    遇到了这个 什么是 z在 shell 脚本中if z FILE LIST 是相同的test And man test gives z STRING the length of STRING is zero 注意 在某些平台上 是一个符号链接
  • 匹配模式后添加行[重复]

    这个问题在这里已经有答案了 我有一个文件说test具有以下值 Linux Solaris Fedora Ubuntu AIX HPUX 如何在匹配 AIX 的行后面添加一行系统主机名 如果我做 echo hostname gt gt tes
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 使用 find 命令搜索直到第一个匹配项

    我只需要搜索可以在任何地方的特定目录有没有办法运行此命令直到第一个匹配 谢谢 我现在使用 find noleaf name experiment type d wc l 正如鲁道夫 米尔鲍尔 Rudolf M hlbauer 所提到的 qu
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im

随机推荐

  • Gradle 构建中 dexOptions 中 jumboMode 的用途是什么?

    根据这个帖子 https stackoverflow com a 24224385 1176435它允许 dex 文件中包含更多数量的字符串 但我不太明白它的含义以及对构建的影响 Jumbo 模式与可以引用的字符串数量有关 一个 DEX 文
  • 从 IndexedSeq[DataFrame] 转换为 DataFrame?

    新手问题 我尝试向现有 DataFrame 添加列 我正在使用 Spark 1 4 1 import sqlContext implicits case class Test rule Int val test sc parallelize
  • 从数据框中删除特殊字符和字母数字的简单方法

    我有一个大型数据集 其中有 x 行和 y 列 其中一列为单词和一些不需要的数据 不需要的数据没有特定的模式 因此我发现很难将其从数据框中删除 nonhashtag want better than Dhabi United Arab Emi
  • Cassandra 使用 IN 运算符在聚类列中更新和删除

    这是我的桌子 CREATE TABLE quorum omg id int a int b text c text PRIMARY KEY id a b WITH CLUSTERING ORDER BY b DESC 当我使用 IN 运算符
  • 为什么使用 OR 条件而不是 Union 会导致性能问题

    您好 我在 SP 中有以下查询 CrmContactId 是 SP 的参数 Select distinct A PolicyBusinessId A PolicyDetailId from TPolicyBusiness A inner j
  • F# 将列表转换为树

    我有一个元组 int string 列表 其中 int 是级别 string 是名称 let src 0 root 1 a 2 a1 2 a2 1 b 2 b1 3 b11 2 b2 我需要将其转换为以下内容 let expectingTr
  • 是否可以用公式读取Excel单元格值?

    在我的以下代码中 c4 的值为零 C4 单元格的公式为 SUM C2 C3 EPPlus能够读取带有公式的单元格吗 为什么 c4 被设置为零而不是 12 using var package new ExcelPackage existing
  • Firestore collection.get() 完成操作后返回值

    我正在运行类似于问题的代码这个问题 https stackoverflow com questions 46706433 firebase firestore get data from collection除了 我从每个文档中获取数组并将
  • 如何在android中获取相机拍摄的最后一张图像? [复制]

    这个问题在这里已经有答案了 我的目的不是拍照然后将其保存到 SD 卡 获取链接等等 该图像已使用 Android 中的原始相机应用程序拍摄 我所需要的就是如何获得相对于 SD 卡的图像路径 例如 模拟 0 sdcard DCIM 100AN
  • 在 ASP.Net MVC 视图中显示是/否而不是复选框

    我对 ASP Net MVC 非常陌生 我创建了一个从模型填充的视图 我正在为模型中的每个项目创建一行 以显示模型项目的属性 属性 其中一个成员是 bool 名称是 Staged 在视图中 我想将其显示为 是 如果为真 或 否 如果为假 用
  • 从 Apache Camel 内的 JSON 主体访问数据

    我正在使用一个 API 它基本上允许文件系统的导航 我正在尝试通过 API 从返回的 JSON 中访问数据 以便对其执行功能 下面是我使用访问 API 的代码 我尝试使用 unmarshal 来 将返回的 JSON 转换为 Map from
  • 在 Mac 上调试 php?

    想知道在本地计算机上调试 PHP 的最佳方法是什么 我在 mac os 10 5 上使用 MAMP 谢谢 帕特里克 Using xdebug http xdebug org 是一个好的开始 下载软件包并按照其中的说明进行操作INSTALL文
  • JPA双向关系-无限循环/循环引用

    我有双向关系 Entity Table name facility public class Facility implements Serializable Id GeneratedValue private Long id OneToM
  • 具有重复值和后缀的列表

    我有一个清单 a a a b c 并且需要使用后缀重复一些值 ind这样添加 顺序很重要 a a ind b b ind c c ind I tried b x x ind for x in a c item for sublist in
  • python中的Turtle模块未导入[重复]

    这个问题在这里已经有答案了 这是我第一次在 python 中使用turtle模块 但我似乎无法导入它 这是我的代码 from turtle import pen1 Pen pen2 Pen pen1 screen bgcolour 2928
  • 将重复项移动到已排序数组的末尾

    我在一次采访中被问到这个问题 有一个包含重复项的已排序数组 目标是首先返回具有唯一元素的数组 并在最后返回重复的元素并保持顺序 例如 1 1 2 3 4 4 5 应该成为 1 2 3 4 5 1 4 我能够用额外的空间 O n 空间 和线性
  • 在 python3 中使用用户设置的密码进行正确的数据加密

    我一直在寻找合适的数据加密库 用python好久了 今天又需要了 不行 找到任何东西 那么有什么方法可以使用 用户设置的密码 如果我发现一些通常不安全的东西 如果我找到一个好的解决方案 它不支持用户设置密码 这意味着我被困住了 有什么办法吗
  • 在代码片段库中添加代码片段 (Xcode 10)

    最近我在使用的时候Xcode 10 测试版 3 我尝试过了制作一个代码片段并将其添加到代码片段库中 But the 由于代码片段库在 Xcode 10 中分离 因此无法进行拖放 并在我单击代码时隐藏 如何在 Xcode 10 的代码片段库中
  • yocto 中图像版本控制的最佳方法

    在 Yocto 中维护映像版本的最佳方法是什么 我的意思是假设我们构建一个图像并将其提供给客户 将来我们会向客户提供错误修复 我们如何知道客户正在使用哪个版本的 yocto 图像 有没有任何标准方法可以实现这一点 谢谢你的时间 赞赏你的努力
  • 在 for 循环中使用 bash wait [重复]

    这个问题在这里已经有答案了 我已经搜索过并期望以前有人问过这个问题 但找不到类似的问题 尽管有很多类似的问题 我希望这个 for 循环在 3 个不同的线程 进程中运行 并且wait似乎是正确的命令 for file in 1 txt 2 t