位置: 编程技术 - 正文

分享一个入门级可控多线程shell脚本代码(入门级啥意思)

编辑:rootadmin

推荐整理分享分享一个入门级可控多线程shell脚本代码(入门级啥意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:入门教程,什么是入门级,什么是入门级,什么是入门级,入门级的,入门级dv,入门级lv,入门级dv,内容如对您有帮助,希望把文章链接给更多的朋友!

说到shell可控多线程,网上分享的大部分是管道控制的方案。这种方案,张戈博客也曾经实战并分享过一次:《Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点》,感兴趣的朋友可以看看。

分享一个入门级可控多线程shell脚本方案

下面张戈博客再分享另一种更容易理解的入门级可控多线程shell脚本方案:任务切割、各个击破。

先来 1 段场景描述:

某日,在鹅厂接到了这个任务,需要在Linux服务器中,对几千个IP进行一次Ping检测,只要取得ping可达的IP就好。如果单个IP去ping测试,虽然也可以完成任务,几千个IP还好了,如果更多呢?

分享一个入门级可控多线程shell脚本代码(入门级啥意思)

鉴于这个case简单程度,第一时间先放弃了以前用过的管道方案,而是采用了各个击破的思想。

简单思路:

按照任务切割的“战略思想”,我先将这几千IP存入一个iplist文件,然后写一个分割函数,将这个文件分成多份临时IP清单,最后,用多线程遍历这些临时IP文件即可变相实现多线程了。

具体代码:

将代码保存为ping.sh之后,执行 sh ping.sh iplist 的过程如下:先将iplist切割成份,存放在 SplitFile 文件夹中

然后,通过for循环读取这些分割文件,并在后台使用while循环对其中ip执行ping命令。由于while是丢后台的, 所以for循环会一次性执行个while,相当于开启了个线程,速度自然不可同日而语矣。其中,切割的份数即你想要开启的多线程数量,很明显,这种任务分割的思路虽然没有管道方案来的高大上,但是其思想更加简单易懂,而且通用性也更好,适合入门级的简单多线程任务。

Linux Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点 一开始搭建中国博客联盟,既有博友提醒我,做网址大全这类网站维护很麻烦,需要大量的精力去Debug一些已夭折的网站,更是拿松哥的博客大全举例。

CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放 张戈博客很久以前分享过一个CC攻击的防御脚本,写得不怎么样,不过被CTO意外转载了。博客从此走上了经常被人拿来练手的不归之路。当然,还是有

SED单行脚本快速参考中文版(Unix 流编辑器) 英文标题:USEFULONE-LINESCRIPTSFORSED(Unixstreameditor)原标题:HANDYONE-LINERSFORSED(Unixstreameditor)整理:EricPement-电邮:pemente[at]northpark[dot]edu版本5.5译者:JoeHong-电邮

本文链接地址:https://www.jiuchutong.com/biancheng/371424.html 转载请保留说明!

上一篇:Linux shell编程中IO和条件及循环处理的细节问题讨论(linux shell $1)

下一篇:Linux Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络