用shell实现任务并发数的简单控制
发布时间:2020-12-15 07:12:39 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/bin/bash#CMDS[1]="echo $USER' 01 BEGIN' sleep 6 echo $USER' 01 END'"CMDS[2]="echo $USER' 02 BEGIN' sleep 3 echo $USER' 02 END'"CMDS[3]="e
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #!/bin/bash # CMDS[1]="echo $USER' 01 BEGIN' && sleep 6 && echo $USER' 01 END'" CMDS[2]="echo $USER' 02 BEGIN' && sleep 3 && echo $USER' 02 END'" CMDS[3]="echo $USER' 03 BEGIN' && sleep 7 && echo $USER' 03 END'" CMDS[4]="echo $USER' 04 BEGIN' && sleep 4 && echo $USER' 04 END'" CMDS[5]="echo $USER' 05 BEGIN' && sleep 2 && echo $USER' 05 END'" CMDS[6]="echo $USER' 06 BEGIN' && sleep 5 && echo $USER' 06 END'" N=${#CMDS[@]} MAX=3 PIDS='' for I in $(seq $N) do while [ 1 -gt 0 ] do C=0 pids='' for PID in $PIDS do ps $PID >/dev/null 2>/dev/null if [ $? -eq 0 ] then pids="$pids $PID" (( C = C + 1 )) fi done PIDS=$pids [ $C -lt $MAX ] && break sleep 1 done #echo $i ${CMDS[$i]} CMD=${CMDS[$I]} bash -c "$CMD" & PIDS="$PIDS $!" done wait 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Advanced Programming in UNIX Environment Episode 23
- Webservice学习
- bash – 根据包含数字和不包含数字的行对CSV中的行进行排序
- 死命简单的webpack(4) - 引入bootstrap
- Advanced Programming in UNIX Environment Episode 33
- Scala Booleans:代码片段
- 常用的webservice接口
- angularjs ui bootstrap datepicker popup没有文本输入字段
- Bootstrap的js插件之按钮(button)
- 我可以在Scala中没有包 – 私人课吗?