#!/bin/bash
Njob=15 #任务总数
Nproc=5 #最大并发进程数
Que=""
function PushQue { #将pid值追加到队列中
Que="$Que $1"
Nrun=$(($Nrun + 1))
}
function GenQue { #更新队列信息,先清空队列信息,然后检索生成新的队列信息
OldQue=$Que
Que=""
Nrun=0
for PID in $OldQue
do
if [ -d /proc/$PID ]; then
PushQue $PID
fi
done
}
function ChkQue { #检查队列信息,如果有已经结束的进程的PID,那么更新队列信息
OldQue=$Que
for PID in $OldQue
do
if [ ! -d /proc/$PID ]; then
GenQue
break
fi
done
}
for((i=1;i<=$Njob;i++))
do
echo "progress $i is sleeping for 3 seconds..."
sleep 3 &
PID=$!
PushQue $PID
while [ $Nrun -ge $Nproc ] # 如果Nrun大于Nproc,就一直ChkQue
do
ChkQue
sleep 0.1
done
done
wait
echo -e "time-consuming: $SECONDS seconds" #显示脚本执行耗时
没有合适的资源?快使用搜索试试~ 我知道了~
shell 并行运行脚本
需积分: 50 28 下载量 121 浏览量
2018-07-27
15:24:54
上传
评论
收藏 2KB GZ 举报
温馨提示
共5个文件
sh:5个
通过循环、队列、fifo文件,实现shell并行任务运行的脚本,测试环境为CentOS7
资源推荐
资源详情
资源评论
收起资源包目录
concurrencesh.tar.gz (5个子文件)
concurrencesh
fifo.sh 715B
circulation.sh 331B
circu_concurr_ctl.sh 641B
circu_concurr.sh 614B
queue.sh 874B
共 5 条
- 1
资源评论
Laiix
- 粉丝: 30
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于yolov8的人体动作识别检测项目源码.zip
- 自然语言处理大作业-python的汉语词义自动消歧系统源码+报告.zip
- MT管理器_2.15.3-会员功能解锁.apk
- 基于机器学习的共享单车使用量分析与预测
- 基于Python开发的汉语词义自动消歧系统源码+超详细注释+实验报告(95分以上).zip
- 51单片机汇编语言音乐盒+电子琴,proteus仿真运行正常,开发板实物运行正常 代码都带有注释,方便理解和学习
- Python项目之django疫情数据可视化分析系统(源码 + 说明文档)
- Python项目之django-新生入学管理系统(源码 + 说明文档)
- Flutter积分或金币领取动画
- Python项目之django新生报到服务管理系统(源码 + 说明文档)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功