Shell脚本并发池控制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_35852328/article/details/82789857

控制个数为10个

dbname=$1

tempfifo=$$.fifo        # $$表示当前执行文件的PID
mkfifo $tempfifo
exec 10<>$tempfifo
rm -rf $tempfifo

for ((i=1; i<=10; i++))
do
    echo >&10
done

for tbname in $(impala-shell --quiet -B -q "use $dbname;show tables;"|cat)
do
		read -u10
		
        {
		echo "use $dbname;MSCK REPAIR TABLE ${tbname};"
        hive -v -e "use $dbname;MSCK REPAIR TABLE ${tbname};"
        echo "use $dbname;INVALIDATE METADATA ${dbname}.${tbname};"
        impala-shell -q "use $dbname;INVALIDATE METADATA ${dbname}.${tbname};"
		
		echo >&10
		} &
		
		
done
wait
exec 10>&-

猜你喜欢

转载自blog.csdn.net/weixin_35852328/article/details/82789857