这个组合命令怎么样:(){:|:& }; :工作? (注意:不要尝试,导致系统停止)

时间:2012-01-19 03:29:41

标签: linux bash

  

可能重复:
  How does this bash fork bomb work?

今天我的一个朋友告诉我一个有趣的事情,这个命令导致系统暂停:

:() { :|:& }; :

但是,我只是不明白这个命令是如何工作的并导致这样的灾难。 任何人想出这个东西?

谢谢,

1 个答案:

答案 0 :(得分:1)

简而言之,

:() { :|:& }; :
|     |       ` Invoke the function
|     ` Run itself twice, once in a subshell, once for each invocation
` Create a new function called :

这基本上意味着,对于:的每次调用,都会创建两个:实例,每个实例再创建两个,等等。

正确的解决方案是明智的。