#!/bin/bash
num=5 #控制进程的数量为10
net="10.100.4"
pipefile="/tmp/multiping_$$.tmp"
multi_ping() {
ping -c2 -i0.2 -W1 $1 &>/dev/null
if [ $? -eq 0 ];then
echo "$1 is up"
else
echo "$1 is down"
fi
}
#创建命名管道文件,创建文件描述符,通过重定向将数据导入管道文件
mkfifo $pipefile #创建命名管道文件
exec 12<>$pipefile #创建文件描述符
for i in $(seq $num)
do
echo "" > $12 &
done
for j in {1..254}
do
read -u12
{
echo "start ping No.$j"
multi_ping $net.$j
echo "stop ping NO.$j"
echo "" >$12 #read读取了一行,进程占用1行,进程执行完后再向命名管道中追加1行数据
} & #中括号表示代码块,不会开启子进程执行
done
wait
rm -f $pipefile
shell多进程-利用命名管道和文件描述符指定同时开启的进程数量
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- shell虽然执行效率差,但优点,是所用即所得,不用移植,基本上所有linux都通用,基本不用额外安装程序。s 当...
- 给一个输出文件指定一个文件描述符的语法如下所示: 其中,[n] 即是文件描述符,如果不指定 n,则表示标准输出(即...
- Shell 允许你给一个输入文件或输出文件指定一个文件描述符。这样可以提高文件读取和写入的性能。这类文件描述符被称...
- 声明:所有文章只作为学习笔记用,转载非原创 [Linux最大进程数、最大线程数、最大文件描述符数] https:/...