【shell中的并发方法】

 

 

 

 

 

[标签]: shell并发功能    shell通过&实现并发功能   

 

 

问题详情的描述或方案目标的预期:

描述:在语言底层设计上,shell是没有进程并发的,但可以通过后台执行来曲线实现。

 

 

 

【解决方案】

 

循环峰值守护函数:

myloop()

{

TOPVALUE=50

joblist=($(jobs -p))

while (( ${#joblist[*]} >= $TOPVALUE ))

do

{

cat << EOF

=================================================================

=================================================================

========= 并发进程已经达到${TOPVALUE}个 ,请稍缓。。。 =========

=================================================================

=================================================================

EOF

echo "$(date +"%Y%m%d_%H%M%S") myloop.switchon" >> /tmp/myloop.log

sleep 1

joblist=($(jobs -p))

}

done

}

  

  

# 示例:

NUM_LIST="1 2 3 4 5 6 7 8 9"

for i in $NUM_LIST

do

{

echo $i

sleep $i

} &

myloop

done

  

  

  

说说:很多东西或人或事,其多与少,并非和好与坏相关,世间之事,大多自己才是最关键的因素之一。

 

 

 

百度一下    谷歌翻译

 

 

 

 

 

 

【书君方案】 简洁、完整、漂亮、记忆深刻

 

 

 

 

 

 

©2022 BLUBN.HonL   京ICP备15053931号   书君   bookfooked.com V1.1