[标签]: 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
说说:很多东西或人或事,其多与少,并非和好与坏相关,世间之事,大多自己才是最关键的因素之一。