-
Linux系统下多线程的Shell脚本介绍
- 时间:2024-11-23 08:07:06
大家好,今天Win10系统之家小编给大家分享「Linux系统下多线程的Shell脚本介绍」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
在Linux下使用Shell脚本可以方便地实现多线程的操作,不仅可以用Shell脚本后台运行多线程,还可以控制多线程的数量。下面就来介绍一下Linux系统下多线程的Shell脚本。
在bash中,我们通过后台运行(&)实现多线程。
for((i=1;i《=pairs;i++))
do
mongo=“mongo_00$i”
acmeair_web=“acmeair_web_00$i”
{
docker run --name $mongo -d -p $port_m:27017 mymongodb
docker run -d -p $port:9080 --name $acmeair_web --link ${mongo}:mongo acmeair/web
} &
((port++))
((port_m++))
done
wait
我们加入了 { }& 这样在{ }里的就可以在后台执行了,上面相当于pairs个同时执行了, wait是等待它们都执行完。
上面我们都是对并发数不可控,下面实现可控。
tmp_fifofile=“/tmp/$$.fifo”
mkfifo $tmp_fifofile # 新建一个fifo类型的文件
exec 6 《》 $tmp_fifofile #将fd6指向fifo类型
rm $tmp_fifofile
thread = 15 # 此处定义线程数
for ((i=0;i《$thread;i++)); do
echo
done 》& 6 #事实上就是在fd6中放置了$thread个回车符
for ((i=0;i《50;i++));do #循环50次
read -u6 # 一个read -u6命令执行一次,就从fd6中减去一个回车符,然后向下执行
# fd6中没有回车符时候,就停在这里了,从而实现线程数量控制
{
{
docker run 。。。 mongodb
docker run 。。。 acmeair/web
} && {
echo “subprocess is finished”
} || {
echo “error”
}
echo 》& 6 #当进程结束以后,再向fd6中加上一个回车符,即补上了read -u6减去的那个
} &
done
wait # 等待所有后台子进程结束
exec 6》&- #关闭fd6
exit 01
以上就是Linux系统下多线程的Shell脚本了,当然运行多线程Shell脚本只是基础。还可以用多线程来进行编程,具体的方法可以参考:Linux下如何实现shell多线程编程。
以上就是关于「Linux系统下多线程的Shell脚本介绍」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
『Win10系统之家www.ghost580.net♀独家使♀用,未经允许不得转载!』
相关文章
-
在Linux下使用Shell脚本可以方便地实现多线程的操作,不仅可以用Shell脚本后台运行多线程,还可以控制多线程的数量。下面就来介绍一下Linux系统下多线程的Shell脚本。
在bash中,我们通过后台运行(&)实现多线程。
for((i=1;i《=pairs;i++))
do
mongo=“mongo_00$i”
Linux下很多软件需要以源码包的方式发布的,安装起来非常麻烦,那么有什么简单的方法来安装源码软件呢?下面小编就给大家介绍下Linux系统安装源码软件最简单的方法,一起来学习下吧。
对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包,不同的最终用户经过编译就可以正确运行,这也是非...
在Linux系统操作中,可使用工具监控网络流量,但对高速网络的监控有一定的局限性,对于高速网络流量的监控可使用shell脚本,下面小编就给大家介绍下Linux使用shell脚本监控高速网络流量的方法。
在本文中我们介绍一种简单的Shell脚本,它可以监控网络流量而且不依赖于缓慢的libpcap库。这些脚本支持Gb以上规模的高速网络接口,如果你对“汇聚型”的网络流量感兴趣的...
Linux系统shell脚本的作用强大,用于执行各种命令,网站被小量ddos攻击可通过shell脚本进行抵御,下面小编就给大家讲解下Linuxshell脚本分析Nginx日志如何抵抗ddos攻击。
实现方式:
1.攻击特征,不同ip不断POST网站首页,造成资源消耗过度
2.分析nginx访问日志,判断POST特征取得客户端访问ip
3...
- Linux教程
-
-
操作系统排行榜
更多>> -
- Ghost Win8.1 64位 老机精简专业版 V2023.02
- 【老机专用】Ghost Win8 32位 免费精简版 V2022.01
- 【致敬经典】Ghost Windows8 64位 免激活正式版 V2021.08
- 微软Windows8.1 32位专业版免激活 V2023.05
- Windows11 22H2 (22621.1778) X64 游戏美化版 V2023.06
- Windows11 22H2 (22621.1778) X64 专业精简版 V2023.06
- 笔记本专用 Ghost Win10 64位 专业激活版(适用各种品牌) V2022.08
- GHOST WIN8 X86 稳定专业版(免激活)V2022.07
- Windows8.1 64位 免费激活镜像文件 V2022.07
- Windows 8.1 64位 极速纯净版系统 V2022
-
Linux教程排行榜
更多>> -
- UOS系统怎么获取root管理员权限?
- Deepin Linux系统怎么安装brother打印机驱动并且设置网络打印机?
- UOS系统怎么查找添加连接打印机?UOS系统连接打印机教程
- CentOS系统怎么安装?CentOS Linux详细安装教程
- Linux系统怎么查看电脑的磁盘空间?
- 怎么远程登录Linux CentOS系统?远程登录Linux CentOS系统方法教学
- Linux CentOS系统要怎么安装?Linux CentOS系统安装方法教学
- Deepin系统软件安装位置在哪?Deepin系统软件安装位置介绍
- Deepin系统怎么切换到root用户?Deepin系统切换到root用户方法教程
- Linux是什么?它是哪个国家开发的
- 热门标签
-