process – ¿Cómo sobrevive systemd a un kill -9?

Pregunta:

Entre las preguntas recientes "¿Por qué 'kill -9 0' finaliza mi sesión de consola" y "Cómo generar un pánico en el kernel", me puse una fresa debajo de mi silla e intenté kill -9 1 en un Arch en su mayoría actualizado portátil linux. Lo hice como ID de usuario "root".

Esperaba algún tipo de accidente, pánico o apagado, pero no pasó nada. kill -9 1 nuevo, sin ningún efecto.

Las máquinas Arch linux ejecutan systemd estos días, entonces: ¿cómo sobrevive systemd un kill -9? Espero que haya un código de caso especial en el kernel de Linux 3.7, pero tal vez exista alguna otra razón en la que no he pensado.

¿Qué pasa con otras cosas que se ejecutan con PID 1? Creo que Slackware todavía usa init , pero tengo miedo de probarlo en mi servidor de producción de Slackware. DD-WRT en mi enrutador inalámbrico ejecuta / sbin / init de algún tipo.

Respuesta:

Del man 2 kill :

Las únicas señales que se pueden enviar al proceso ID 1, el proceso init, son aquellas para las que init ha instalado explícitamente controladores de señales. Esto se hace para asegurar que el sistema no se apague accidentalmente.

Es decir, es posible que init haga lo que quiera al recibir SIGKILL (incluida la salida), pero el init de systemd no instala ningún controlador de señal para él, por lo que no pasa nada.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım