我们能创建一个操作系统无法停止的程序吗?例如,重写所有的信号,如ctrl+c,ctrl+z等等,所以每当操作系统向程序发送kill信号时,它就会忽略它。
最佳答案
您可以通过signal
系统调用忽略大多数信号,如下所示:
signal(SIGINT, SIG_IGN);
在这里,我们将
SIGINT
的信号处理程序(当您按下ctrl+c时会引发)设置为SIG_IGN
,这是一个特殊的标志,表示该信号将被忽略。但是,在
signal(2)
的手册页中:信号
SIGKILL
和SIGSTOP
不能被捕获或忽略。因此,虽然可以忽略
SIGINT
(即ctrl+c),但不能忽略SIGSTOP
(ctrl+z)或SIGKILL
。关于c - 创建一个不可停止的程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32534736/