位置: 编程技术 - 正文
推荐整理分享分享一个入门级可控多线程shell脚本代码(入门级啥意思),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:入门教程,什么是入门级,什么是入门级,什么是入门级,入门级的,入门级dv,入门级lv,入门级dv,内容如对您有帮助,希望把文章链接给更多的朋友!
说到shell可控多线程,网上分享的大部分是管道控制的方案。这种方案,张戈博客也曾经实战并分享过一次:《Shell+Curl网站健康状态检查脚本,抓出中国博客联盟失联站点》,感兴趣的朋友可以看看。
分享一个入门级可控多线程shell脚本方案
下面张戈博客再分享另一种更容易理解的入门级可控多线程shell脚本方案:任务切割、各个击破。
先来 1 段场景描述:
某日,在鹅厂接到了这个任务,需要在Linux服务器中,对几千个IP进行一次Ping检测,只要取得ping可达的IP就好。如果单个IP去ping测试,虽然也可以完成任务,几千个IP还好了,如果更多呢?
鉴于这个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网站健康状态检查脚本,抓出中国博客联盟失联站点
友情链接: 武汉网站建设