Mar*_*tin 159
当然,只需&
在命令后添加:
read_cfg cfgA &
read_cfg cfgB &
read_cfg cfgC &
wait
Run Code Online (Sandbox Code Playgroud)
然后,所有这些工作将同时在后台运行.然后,可选wait
命令将等待所有作业完成.
每个命令都将在一个单独的进程中运行,因此从技术上讲它不是"多线程",但我相信它可以解决您的问题.
tno*_*rgd 26
您可以并行运行脚本的多个副本,每个副本用于不同的输入数据,例如,处理4个核心上的所有*.cfg文件:
ls *.cfg | xargs -P 4 -n 1 read_cfg.sh
Run Code Online (Sandbox Code Playgroud)
read_cfg.sh脚本只接受一个参数(由-n强制执行)
mou*_*iel 21
Bash作业控制涉及多个进程,而不是多个线程.
您可以在后台执行带&
后缀的命令.
您可以使用该wait
命令等待后台命令的完成.
您可以通过将它们分开来并行执行多个命令|
.这也提供了同步机制,因为左边的命令的stdout |
连接到右边的命令的stdin.