linux控制并发运行进程数,可以使用重定向。
代码示范如下:
tmp_file="/tmp/$$.fifo"
mkfifo $tmp_file
exec 6<>$tmp_file# 将fd6指向fifo类型
rm -f $tmp_file
thread=3 # 并行运行任务数
for ((i=0;i<thread;i++))# 事实上就是在fd6中放置了$thread个回车符
do
echo >&6
done
while [ $startday -le $endday ]
do
read -u6
{
your function
echo >&6
}&
startday=`date -d "+1day $startday" +%Y%m%d`
done
wait # 等待所有的后台子进程结束
exec 6>&- #关闭fd6
exit 0
如果觉得《linux控制并发运行进程数》对你有帮助,请点赞、收藏,并留下你的观点哦!