shell并行执行

# vim parallel.sh

#!/bin/bash
beginTime=`date +%s`
num=1
for i in `seq 1 3`
do
    {    
    echo $i  "业务逻辑 开始执行,当前时间:" `date "+%Y-%m-%d %H:%M:%s"`
    echo "-----------------------------------------------------------"
    sleep 2s
    echo $i  "业务逻辑 执行完成,当前时间:" `date "+%Y-%m-%d %H:%M:%s"`
    echo "-----------------------------------------------------------"
    # 结尾的&确保每个进程后台执行
    }&
done
# wait关键字确保每一个子进程都执行完成
wait
endTime=`date +%s`
echo "总共耗时:" $(($endTime-$beginTime)) "秒"

# /bin/bash parallel.sh

3 业务逻辑 开始执行,当前时间: 2022-08-17 01:17:49
-----------------------------------------------------------
1 业务逻辑 开始执行,当前时间: 2022-08-17 01:17:49
-----------------------------------------------------------
2 业务逻辑 开始执行,当前时间: 2022-08-17 01:17:49
-----------------------------------------------------------
3 业务逻辑 执行完成,当前时间: 2022-08-17 01:17:51
-----------------------------------------------------------
1 业务逻辑 执行完成,当前时间: 2022-08-17 01:17:51
-----------------------------------------------------------
2 业务逻辑 执行完成,当前时间: 2022-08-17 01:17:51
-----------------------------------------------------------
总共耗时: 2 秒

 

相关文章

Centos系统之Shell编程基础知识
从Export理解Shell环境和变量生存期
linux shell数组变量、类型及规则
Centos编程Shell基本工作原理方案
Centos操作系统编程之Shell 问答录
rsync-linux备份脚本