Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 这个组合命令:(){::&;};,是如何执行的:工作(注意:不要尝试,因为系统已停止)_Linux_Bash - Fatal编程技术网

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,这不是一个原始问题。