Je sais que/sbin/init a une protection spéciale contre SIGKILL et SIGSTOP du noyau pour des raisons évidentes.Autoriser/sbin/init être SIGSTOPé?
J'ai essayé dire noyau Je veux recevoir SIGSTOP avec ioctl() (similaire à SIGABRT et SIGSEGV reqs en main()):
if (ioctl (0, KDSIGACCEPT, SIGSTOP) == 0) {
nih_signal_set_handler (SIGSTOP, stop_handler);
mais STOP n'arrive pas à la stop_handler() (de tout ce que je sais, nih_error() n'est pas imprimé dans les logs). Dans stop_handler(), je réinitialise le sighandler STOP à SIG_DFL (sinon il reviendrait à notre gestionnaire de toute façon), mais cela le conduit probablement à être à nouveau ignoré par le noyau.
Comment dire au noyau que je veux avoir init STOPPED?
Peut-être pouvez-vous expliquer ce que vous essayez d'accomplir? – MarkR