警告:恶意代码。不要试试这个。它出现在这里仅用于教育目的。
如果您在shell中键入此shell片段,系统似乎已停止,您知道原因吗?
:() { :|:& }; : #
你唯一能做的就是重启你的系统.. 你能给我一些解释吗
答案 0 :(得分:20)
这是一个无休止的递归。你正在定义一个名为':'的函数,它调用自身并将自己的输出传递给它自己的另一个实例,然后围绕它。由于'&',管道也在后台分叉并执行。最后':'实际上启动了调用(分号只是结束了上一个命令,它定义了函数,换行也会在这里执行)。
为了更清楚,这就是它的作用
foo() {
foo | foo &
}
foo
它几乎是一个分叉炸弹,加上大量使用IPC资源。