我刚刚运行了 fork bomb 命令:
:(){ :|: & };:
在我的 ubuntu 机器上,令人惊讶的是,系统在几分钟后自动恢复。我的观察是,在我的 ubuntu 上运行 fork bomb 命令后不久,我失去了 shell 访问权限(仅一段时间),几分钟后才能连接到 shell。我的理解是,fork bomb 消耗了整个系统资源,并且不会自动释放资源。唯一的方法是重新启动系统以摆脱这种情况。就我而言,情况并非如此。 有人能帮我理解为什么会出现这种行为吗(fork bomb 只会让系统挂起几分钟)?
答案1
Linux 内核已更改,因此任何检测到导致系统最终停止的用户进程(由于错误,或在这种情况下故意使用 fork-bomb)都将被终止以保持系统稳定性。它只在内核达到其“风险”阈值并因此将其终止之前有效;用户级炸弹无法在现代 Linux 中终止系统