shell学习-并发控制--已复习

    技术2022-08-05  93

    while,until循环

    while,当条件成立时执行里面的命令 语法:while 添加测试 do 命令 done 特殊用法:读取文件里的内容while read line do 命令 done < temp.txt until,当条件不成立时(即为假),执行循环体里面的命令 语法until 条件测试 do 命令 done 也有像while一样的用法

    shell的并发控制

    " {}& " 将命令放在后台执行,就是一种并发操作,但并发的数量并不是无限的,并发过多会出现问题,所以并发控制是很有必要的并发控制原理就是管道,是一种命名管道,我们通过控制输入端的个数来控制并发的个数。我也说不清楚,直接看实例或许清楚些 firefifo=$$.fifo mkfifo $firefifo exec 8<>$firefifo rm -rf $firefifo for i in `seq $thread_num` do echo >& 8 #输入换行符,随便输入什么,没影响的 done for i in `seq 100` do read -u8 #从标识符为8管道读入,没有东西就会等待 { ping -c1 -w1 192.168.1.$i &>/dev/null if [ $? -eq 0 ];then echo "$i is up." else echo "$i is down." fi echo >& 8 #占用了位置后,归还 }& done wait #等待进程结束在执行后面的 echo "finish....." exec 8 >&- #关闭文件
    Processed: 0.013, SQL: 9