shell脚本控制后台进程数量的问题,大神来看看啊!
发表于 : 2014-10-30 9:32
想要以一定的数量执行一个程序,自己写了一段shell脚本
这里想要执行1000个sleep后台程序,threadcount函数会控制sleep程序的数量,执行的时候会发现一开始进程数会飙升到400以上,之后会不断下降到300,,再到200,最后都突破100
造成这种现象的原因是什么,我只知道没能达到1000的原因是程序最快只能到400个,但是为什么数量会慢慢下降?
代码: 全选
threadcount()
{
threadnum=`jobs |wc -l`
echo Threadnum:$threadnum
if [ $threadnum -le 1000 ]
then
return
else
threadcount
fi
}
while [[ 1 ]]
do
(sleep 1)&
threadcount
done

造成这种现象的原因是什么,我只知道没能达到1000的原因是程序最快只能到400个,但是为什么数量会慢慢下降?