先进的forkbomb免疫杀死信号

时间:2017-12-09 23:18:41

标签: c linux signals fork daemon

在我的一个CS课程中给出的任务中,我们的任务是创造一个非常难以阻止的叉炸弹。

需要免疫控制-c,control-z和control-d关闭终端。它也必须对sigkill和信号9免疫,我们很快就用sigsegv来处理信号处理,但事实就是如此。我读到sigaction无法捕获sigkill或sigstop信号。

我还读到守护进程将允许它在后台运行,因此关闭终端不会阻止它。

如何使叉炸弹过程免受sigkill信号的影响?

这是我们之前制作的叉炸弹。

B

此外,我正在使用虚拟盒来安全地测试它。

1 个答案:

答案 0 :(得分:1)

无法避免/免疫sigkill信号。阅读signal()的手册页 它说信号SIGKILL和SIGSTOP无法被捕获或忽略

while(1){
        fork();
    }

这不是一个好主意,因为您无法根据需要创建流程,但有一些限制,请检查ulimit。在没有资源的情况下,它会立即失败(sh将显示错误消息)。