多线程循环框架
tmp_fifofile=”$$.fifo” # && 当前进程,fi命名通道。
mkfifo $tmp_fifofile # 新建一个当前进程的名命通道fifo类型的文件
exec 6<>$tmp_fifofile # 创建文件描述符6,并将fd6指向fifo类型
rm $tmp_fifofile
thread=50; # 此处定义线程数
for ((i=0;i<$thread;i++));
do
echo
done >&6 # 在fd6中放置了$thread个换行符
for ((j=1;j<6;j++));
do
read -u6 #从文件描述符6中读取一行,及一个换行符
{
################ 需要执行的脚本 ################
echo $i;
sleep 2;
##################### END ######################
echo >&6 #在fd6中补充一个换行符
}&
done
wait # 等待所有的后台子进程结束
exec 6>&- # 关闭df6
exit 0 # 退出
linux 多进程删除日志
date
cd /oracledb/Ticket_KF/IsmgMsgBak/2018;
find -type f >../trw.log;
FL=$(cat trw.log|wc -l);
tmp_fifofile=”$$.fifo”
mkfifo $tmp_fifofile # 新建一个fifo类型的文件
exec 6<>$tmp_fifofile # 将fd6指向fifo类型
rm $tmp_fifofile
thread=50; # 此处定义线程数
for ((i=0;i<$thread;i++));
do
echo
done >&6 # 事实上就是在fd6中放置了$thread个回车符
for ((j=1;j<$FL;j=j+100));
do
read -u6
{
echo $FL-$j;
cat ../trw.log |tail -n $j |head -100 |xargs rm;
echo >&6
}&
done
date
wait # 等待所有的后台子进程结束
exec 6>&- # 关闭df6
exit 0