bomb炸弹_后台执行

今天看到的一个Linux shell命令,但是我先说下,这个命令是危险的,所以没事的时候不要随便执行,出现了各种危险不要怪我没有提前告诉你哈。

DANGER!

命令代码
:(){ :|: & };:
命令解析1

:() 意思是定义了一个函数,这个函数的名字叫做 : ,可能大家还不知道,冒号也可以定义为一个函数,重点是冒号后面是一个()。这个指定了冒号就是一个函数。

{ :|: & } 这句的意思是我们执行函数 : ,并且把这个函数的输出结果送给 : ,然后 & 这个的意思就是把前面这句话运行在后台。

:(){ :|: & } 连起来这个就是定义一个递归函数,不断的调用,调用,调用……

; 这个符号就是一个分隔符,意思就是上面作为一个语句,下面是另一个语句。

: 最后是触发运行一次 : 这个函数。

另一种解析
:(){ :|:& };:
\_/| |||| ||\- 执行函数
 | | |||| |\- 函数定义结束
 | | |||| \- 和 { 相互呼应
 | | |||\- 后台执行
 | | |||   这样父进程被杀死了自己也不会被杀死
 | | ||\- 接收前一个命令的输出
 | | ||  
 | | |\- 接收输出
 | | \- 执行函数 :
 | \- 执行函数
 \- 函数定义
实际效果如下

bomb炸弹_后台执行_02

总结

虽然是一个递归函数,但是如果我们在这个吃掉系统所有资源之前,把它干掉,是可以避免系统重启的。如果感兴趣的同学,可以测试看看。

bomb炸弹_后台执行_03

bomb炸弹_微信_04