Fork 炸弹

在 Linux 的 shell 脚本中,流传着一个很有意思,当然也是相当危险的脚本段,俗称 Fork 炸弹(Fork Bomb)。如下:

:(){ :|:& };:

Fork 炸弹会以极快的速度创建大量的进程(进程数以指数式增长),以此消耗系统分配给予的进程可用空间,使进程表饱和。进程表饱和后,就无法运行新程序,除非终止进程表中的某一个进程;但被终止的进程,又会立刻被 Fork 炸弹探测到并被占用,导致仍然无法运行新的程序。Fork 炸弹生成的子程序在消耗进程表空间的同时,也会占用 CPU 和内存,从而导致系统与现有进程运行速度放缓,响应时间也随之大幅增加,以致于无法完成正常的任务,从而使系统的正常运作受到严重影响。那么,这个由 13 个字符(包括两个空格字符)组成的所谓 Fork 炸弹,为何会有如此大的威力呢?

阅读余文Fork 炸弹