多线程fifo的那个理解起来会比较难
上万个http接口探测的话,慢
for one_url in $(cat /tmp/urls);do
curl -s -m 2 $one_url >/dev/null
if [ $? -eq 0 ];then
echo "$one_url is normal"
else
echo "$one_url is unnormal"
fi
done
以sleep代替响应慢的情况
for number in $(seq 6);do
echo $number
sleep 2
done
多进程的方式&,使用wait等待所有进程运行结束
for number in $(seq 6);do
(
echo $number
sleep 2
) &
done
wait
进程数不控制的话,会导致系统崩溃
for number in $(seq -w 100);do
(
echo $number
sleep 10
) &
done
wait
支持控制进程数量,并发进程10个
i=0
for number in $(seq 33);do
let i=$i+1
let j=$i%10
(
echo $number
sleep 5
) &
if [ $j -eq 0 ];then
wait
fi
done
wait
多进程探测http接口,并发数12
i=0
for one_url in $(cat /tmp/urls);do
let i=$i+1
let j=$i%12
(
curl -m 2 -s $one_url >/dev/null
if [ $? -eq 0 ];then
echo "$one_url is normal"
else
echo "$one_url is unnormal"
fi
) &
if [ $j -eq 0 ];then
wait
fi
done
wait