Linux 这个组合命令:(){::&;};,是如何执行的:工作(注意:不要尝试,因为系统已停止)
可能重复:Linux 这个组合命令:(){::&;};,是如何执行的:工作(注意:不要尝试,因为系统已停止),linux,bash,Linux,Bash,可能重复: 今天我的一个朋友告诉我一件有趣的事,这个命令导致系统停止: :() { :|:& }; : 但是,我只是不明白这个命令是如何工作的,导致了这样的灾难。 有人想到这个吗 谢谢 Xi简言之 :() { :|:& }; : | | ` Invoke the function | ` Run itself twice, once in a subshell, once for each invocation ` Create a new fun
今天我的一个朋友告诉我一件有趣的事,这个命令导致系统停止:
:() { :|:& }; :
但是,我只是不明白这个命令是如何工作的,导致了这样的灾难。
有人想到这个吗
谢谢
Xi简言之
:() { :|:& }; :
| | ` Invoke the function
| ` Run itself twice, once in a subshell, once for each invocation
` Create a new function called :
这基本上意味着每次调用:
,都会创建两个:
实例,每个实例都会创建两个以上的实例,以此类推
正确的解决方案是理智的ulimits。Google forkbomb,这不是一个原始问题。