为什么这个 bash fork 炸弹在我的 RHEL 虚拟机上不起作用?

为什么这个 bash fork 炸弹在我的 RHEL 虚拟机上不起作用?

我在 VMware ESXi 环境中运行 RHEL 6.5 虚拟机,并通过 vSphere Web Client 虚拟控制台(在我的浏览器中)访问它。

我故意让这台机器崩溃然后执行

:(){ :|:& };:

然而,我得到的只是

bash: fork: Cannot allocate memory

几次然后它就停止做任何事情。我可以通过 Ctrl+C 轻松退出并继续正常工作。这个叉子炸弹不起作用的原因可能是什么?

答案1

默认情况下,更现代的操作系统通常通过设置用户限制来保护自己免受此类滥用。这可能就是系统仍然响应的原因 - 它只允许您分配一定数量的内存,这比机器可用的内存要少得多。

相关内容