为什么以下命令会杀死系统?

dai*_*isy 5 bash process limit fork

任何人都理解以下代码,在 bash 中运行?

:(){ :|:& };:

它似乎是forkLinux 上的“ ”炸弹。

Sté*_*nez 16

其实破解起来并不难。

这段代码只是定义了一个名为的函数:,它在管道中调用自身的两个实例::|:&. 在定义之后,这个函数的一个实例被启动。

这导致子shell进程的数量快速增加。未受保护的系统(没有每个用户的进程数限制的系统)将受到此类分叉炸弹的严重影响,因为合法进程将很快超过数量,从而剥夺大部分 CPU 资源。

  • 哪个操作系统不受此保护? (2认同)