最近偶然看到"fork系统炸弹"的代码,小小一行shell竟然能够直接搞死系统,令人印象深刻。
代码如下
:(){ :|:& };:
咋一看有点蒙,重新排版下格式
:() { : | : & }; :
有经验的shell开发者这时候应该看出来了,这个炸弹的代码分为两个部分,第一部分:定义函数:(), 第二部分:执行函数:() (实际上将:替换成任何合法的函数名都可以,只不过作者为了显示炸弹的短小精悍,只用单字符代替)。函数内会创建两个后台进程,两个后台进程都执行:函数。也就是1生2, 2生4, 一直到系统资源被耗尽。
警告:请不要在服务器上执行此条命令。