位置: 编程技术 - 正文

Shell脚本经典之Fork炸弹的分析与预防(shell脚本 -ne 0)

编辑:rootadmin

推荐整理分享Shell脚本经典之Fork炸弹的分析与预防(shell脚本 -ne 0),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell脚本实例精讲,shell脚本用法,shell脚本 !,shell脚本用法,shell脚本 -ne 0,shell脚本-lt,shell脚本 !,shell脚本 !,内容如对您有帮助,希望把文章链接给更多的朋友!

fork炸弹介绍

众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能。这样的一款shell中自然不会缺少函数这个元素来帮助程序进行模块化的高效开发与管理。于是产生了由于其特殊的特性,bash拥有了fork炸弹。Jaromil在年设计了最为精简的一个fork炸弹的实现。

所谓fork炸弹是一种恶意程序,它的内部是一个不断在fork进程的无限循环,fork炸弹并不需要有特别的权限即可对系统造成破坏。fork炸弹实质是一个简单的递归程序。由于程序是递归的,如果没有任何限制,这会导致这个简单的程序迅速耗尽系统里面的所有资源。

现在来看看Jaromil设计的最简单的fork炸弹

Shell脚本经典之Fork炸弹的分析与预防(shell脚本 -ne 0)

fork炸弹分析

一行看似无法理解的只有个字符的命令,即可占用掉所有系统的资源。其实,这行命令如果这样写成bash script就不难理解了

第 1 行 说明下面要定义一个函数,函数名为小数点,没有可选参数。 第 2 行 表示函数体开始。 第 3 行 是函数体真正要做的事情,首先它递归调用本函数,然后利用管道调用一个新进程(它要做的事情也是递归调用本函数),并将其放到后台执行。 第 4 行 表示函数体结束。 第 5 行 并不会执行什么操作,在命令行中用来分隔两个命令用。从总体来看,它表明这段程序包含两个部分,首先定义了一个函数,然后调用这个函数。 第 6 行 表示调用本函数。

冒号”:”其实是函数名,这个bash脚本就是在不断的执行该函数,然后不断fork出新的进程。

fork炸弹预防

那么,有没有办法扼制这种情况的发生呢?答案是肯定的,只需设置进程的limit数即可。

在上面的例子中,我们将用户可以创建的最大进程数限制为 ,执行fork炸弹会迅速fork出大量进程,此后会由于资源不足而无法继续执行。使用工具ulimit即可设置各种限制数,具体的请参考该工具的man或help。

fork 炸弹让我们认识到了递归函数的强大功能,同时也意识到一旦使用不当,递归函数所造成的破坏将是巨大的。实际上,fork 炸弹只是一个非常简单的递归函数,它并不涉及参数传递、返回值等问题,而这些问题在使用bash编程时是否有完善的支持呢?在bash中编写递归函数时应该注意相关问题。

总结

标签: shell脚本 -ne 0

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

上一篇:利用Shell 脚本解决DDOS攻击问题(shell脚本-lt)

下一篇:shell脚本实现多进程运行的方法示例(shell脚本总结)

  • 税务账是什么意思
  • 车船税是否每年都交
  • 新公司税务报到网上操作流程
  • 制造业税负率怎么计算
  • 出库成本是什么意思
  • 进项税额转出借贷
  • 一般纳税人技术服务免税发票怎么开
  • 住宿费电子普票可以抵扣进项税额
  • 出版产品
  • 未分配利润借方表示增加还是减少
  • 车辆的鉴定评估方法
  • 企业资产净资产
  • 公司买了商品做活动会计分录
  • 企业收到投资者以外币投入的资本应当采用什么折算
  • 公司购买汽车保险车船税需要另计吗
  • 没通过认证的增值税发票是否能够记入成本抵扣
  • 发票跨月还能重开吗
  • 小微企业的免税标准
  • 钢结构制作安装方案
  • 即用于一般计税又用于简易计税的固定资产抵扣
  • 注册资本转让股权
  • 业绩补偿协议
  • 福利费应计入什么费用
  • win7鼠标点右键没反应
  • vpn加速有什么用呢?
  • 细说linux
  • javascript中
  • php教程全集
  • 生产员工福利计什么科目
  • 土地开发公司是国企吗
  • 分配股利会稀释股权吗
  • yii2实现根据时间搜索的方法
  • 财务负责人和法人哪个责任大
  • pycharm vue
  • vue遍历数组
  • 注意力机制cbam
  • pytorch技巧
  • ajax调用php接口
  • clock set命令
  • 不同情况不同处理的句子
  • 每个月计提折旧的分录
  • wordpress编辑文章
  • puthon zip函数
  • 库存商品和固定资产是单位会计资产核算的两项内容
  • 企业所得税季度申报表怎么填
  • 机动车统一发票怎么开
  • 合理损耗应计入成本吗
  • 销售产品结转成本
  • 土地使用权如何取得
  • 什么情况下需要缴纳
  • 出包方式建造固定资产的成本包括
  • 带息票据为什么是贷财务费用
  • 软件开发过程中,一个错误发现的越晚
  • 记账凭证背面贴原始凭证图片
  • 出差包干费包括什么
  • 进项税转出补税按多少补税
  • 固定资产入账标准最新规定企业
  • 科目余额表上的销项税额贷方余额表示
  • 资产减值损失包含
  • mysql输入中文显示乱码
  • XP系统提示QQprotect.exe损坏文件的解决方法图文教程
  • 破解ssh端口
  • win10预览版选哪个
  • 电脑系统停用
  • linux命令大全chm版
  • centos6.5破解密码
  • centos7误删除怎么恢复
  • win7资源管理器怎么打开
  • linux创建目录函数
  • unity字符串
  • java list转set的方法
  • shell批处理脚本
  • js使文本框失去焦点的方法
  • unity连接
  • javascript总结笔记
  • 基于zepto的移动端轻量级日期插件--date_picker
  • [置顶]游戏名 TentacleLocker
  • jquery怎么设置样式
  • 个人所得税代扣代缴手续费退库申请
  • 7.1税务新政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设