创建一个不可停止的程序

时间:2015-09-12 03:00:42

标签: c linux operating-system

我们可以创建一个无法被操作系统停止的程序吗?对于前者覆盖所有信号,如CTRL + C,CTRL + Z等。因此,每当操作系统向程序发送kill信号时,它将忽略它。

1 个答案:

答案 0 :(得分:3)

您可以通过signal系统调用忽略大多数信号,如下所示:

signal(SIGINT, SIG_IGN);

在这里,我们设置SIGINT的信号处理程序(当你按CTRL + C时会引发它)为SIG_IGN,这是一个特殊标志,表示该信号将被忽略。 / p>

但是,来自signal(2)的手册页:

  

无法捕获或忽略信号SIGKILLSIGSTOP

因此,虽然您可以忽略SIGINT(即CTRL + C),但您无法忽略SIGSTOP(CTRL + Z)或SIGKILL