我知道/sbin/initSIGKILL出于明显的SIGSTOP原因对内核有特殊的保护。
我已经尝试告诉内核我想要接收SIGSTOP(ioctl()类似于main() 中的SIGABRT和SIGSEGVreqs):
if (ioctl (0, KDSIGACCEPT, SIGSTOP) == 0) {
nih_signal_set_handler (SIGSTOP, stop_handler);
但SIGSTOP没有到达stop_handler()(据我所知,因为nih_error()没有打印在日志中)。
在stop_handler()中,我将SIGSTOP信号处理程序重置为SIG_DFL(否则它无论如何都会返回到我们的处理程序),但这可能会导致它再次被内核忽略。
我如何告诉内核我想让 init 停止?