WAS:阅读关于迁移到 SU 的另一个问题:https ://superuser.com/questions/435690/does-linux-have-any-measures-to-protect-against-fork-bombs ,我在想一个内核级别的解决方案。我在 LWN ( http://lwn.net/Articles/435917/ ) 上阅读了一项提案,但该提案侧重于检测叉形炸弹以防止它发生。
我会专注于恢复,因为检测基本上意味着系统不可用;系统的任何用户很快就会检测到什么。
我只将上下文扩展到非分叉炸弹:如果您的系统没有响应并且您无法获得像样的控制台但仍然不想干净地重新启动它,该怎么办。
所以问题:
是否有可能通过一些 SysReq 命令告诉内核进入一个只运行一个进程(并拒绝分叉它)的恢复 shell,意图杀死错误的进程;这个功能有没有实现过?如果不是,那为什么?
备注我不是在说向所有进程发送 SIGKILL 的 SysReq+i,而是对所有进程表现得像 SIGSTOP 的东西,它可以是另一个内核 kexec 以及第一个允许检查和恢复它的内核。