位置: 编程技术 - 正文

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脚本总结)

  • 进出口环节税
  • 已申报税额是指啥
  • 递延所得税资产是什么类科目
  • 什么是长期股权结构
  • 医疗服务收入占比标准
  • 非行政性罚款可以撤销吗
  • 研究开发费用的归集
  • 保险柜库存现金留存不能超过多少
  • 法人投资转入旧机器无发票怎么入账?
  • 燃气在建工程要怎么转固定资产呢?
  • 房地产预收款如何申报增值税
  • 发票抬头写个人有效吗
  • 建筑合同印花税在哪里交
  • 滴滴顺风车发票图片大全
  • 发票金额是价税价格吗
  • 专票上少打了开户行账号可以认证吗
  • 补贴属于什么手段
  • 公司开一般户弊端
  • 普票需要缴纳印花税吗
  • 季度报税过了怎么办
  • 个税0申报逾期一年
  • 酒店行业增值税加计抵减是10%还是15%
  • win10如何禁用administrator用户
  • 为什么win10系统更新不了
  • 苹果静音模式siri
  • 鸿蒙系统智慧场所在哪
  • U盘复制文件提示文件过大
  • 经济成本和会计成本的大小
  • 以前年度原材料调出怎么做会计分录
  • 季度所得税缴纳时间规定
  • 4芯网线插线顺序图
  • 塞维利亚是港口吗?
  • windows10护眼色设置
  • 什么是现金解款支付
  • php开启pdo
  • 如何区分货币财富和收入
  • 工程完工后有关工作总结
  • 已认证留抵待抵扣税额分录
  • 详解php字符串替换
  • 旺阿雷自然保护区里的旺阿雷瀑布,新西兰北岛 (© Nathan Kavumbura/Getty Images)
  • 应收账款项目在资产负债表怎么填列
  • wordpress文章保存在哪里
  • 只有进项发票,没有销项可以吗
  • 退税是上一年交的税都会退吗
  • 支付版权使用费怎么记账
  • 纳税申报相关操作有哪些
  • 从厂家直接拿货需要什么条件
  • 小微企业的认定由哪个部门负责
  • 长期应付款为负数重分类
  • 招待客人会计分录
  • 库存现金存入银行是什么凭证
  • 社保补贴生育津贴
  • 行政转工会经费请示
  • 借款收据怎样才有法律效力
  • 水电费没有发票可以入账吗
  • 支付水电费取得专用发票上注明税金0.68万元
  • 残联对残疾人的补助资金是多少
  • 领用材料属于什么会计分录
  • sql需要哪些基础
  • 目前用到的两个字符
  • mysql基本命令大全
  • centos6.8配置网络
  • xp系统鼠标右键无法弹出菜单
  • 360杀毒恢复区
  • ubuntu 9.04 X3100 显卡开启3D特效
  • mac系统常见问题
  • win8.1安全模式怎么进入
  • win7系统安装程序正在启动一直转圈圈
  • 手机注册发送验证码收不到
  • ssm vue
  • angularjs1.5
  • 浅蓝色html代码
  • jQuery AjaxUpload 上传图片代码
  • bootstrap怎么用
  • jquery获取浏览器宽度
  • jquery跨域请求有哪些方式
  • jquery插件库怎么导入
  • jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
  • 汽车购置税退税需要多长时间
  • 耕地占用税减免税范围包括
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设