在 bash 中启动五个并发进程

kickstart five concurrent processes in bash

我有一个名为 datafolder 的文件夹,其中包含五个 csv 文件 aa.csv ab.csv ac.csv ad.csv ae.csv 每个 csv 文件包含来自 excel sheet 的数据,格式为:日期、产品类型,名称,地址等,我只对名为产品的第二列感兴趣。基本上我想要发生的是让 jobmaster 脚本计算 datafolder 中的文件数,然后为每个单独的文件启动映射进程。我有以下脚本:

jobmaster 脚本 运行 没有问题,但是一旦地图脚本启动,只有第一个 echo mapping 显示并且进程陷入无限循环(我的猜测)。当我 运行 ps 命令时,我希望看到 5 map.sh 运行ning,但是有 none。

我怀疑您错过了 map.sh 中的输入重定向:

file=
echo "mapping $file"
while IFS="," read -r value1 product remainder; do
    # ...
done < "$file"
#       ^^^^^ provide the standard input to from this file to `read`