Estoy tratando de construir un contenedor de procesos. El contenedor activará otros programas. Por ejemplo, un script bash que inicia la ejecución de tareas en segundo plano con el uso '&'.
La característica importante que busco es esta: cuando mato el contenedor, todo lo que se generó debajo de él debe ser asesinado. No solo los niños directos, sino también sus descendientes.
Cuando comencé este proyecto, creí erróneamente que cuando mataste un proceso, sus hijos también fueron matados automáticamente. He buscado consejo de personas que tenían la misma idea incorrecta. Si bien es posible captar una señal y transmitir la muerte a los niños, eso no es lo que estoy buscando aquí.
Creo lo que quiero lograr, porque cuando cierras un xterm, todo lo que se ejecuta dentro de él se mata a menos que se haya prohibido. Esto incluye procesos huérfanos. Eso es lo que estoy buscando recrear.
Tengo una idea de que lo que estoy buscando implica sesiones de Unix.
Si hubiera una forma confiable de identificar a todos los descendientes de un proceso, sería útil poder enviarles también señales arbitrarias. por ejemplo, SIGUSR1.
SIGHUP
a sus procesos hijos directos. El controlador predeterminado de la señal de colgar cancela la ejecución del proceso, por lo que la ruta predeterminada es matar a todos los descendientes. Lea más sobre procesos y grupos de procesos.