GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿puede Ctrl+c enviar la señal Signint a varios procesos?

He leído que cuando presionas Ctrl +C un SIGINT la señal se enviará al grupo de procesos en primer plano .

¿Puede darme un ejemplo de cómo puedo tener dos o más procesos en el grupo de procesos en primer plano? , porque quiero ver si todos los procesos terminarán si presiono Ctrl +C .

Respuesta aceptada:

Dado que todos los procesos nuevos pertenecen al mismo grupo de procesos, el del proceso principal, haga que un proceso inicie un montón de procesos (fork ), y luego con el registro adecuado y un retraso, escriba Ctrl +C . Todos comen un SIGINT .

$ perl -E 'fork for 1..2;say "ima $$"; $SIG{INT}=sub{die "woe $$\n"}; sleep 999'
ima 80920
ima 80922
ima 80921
ima 80923
^Cwoe 80920
woe 80922
woe 80921
woe 80923
$ 

(Añadir strace o sysdig o similar para ver las llamadas al sistema o las señales involucradas).


Linux
  1. UNIX/Linux:3 Maneras de Enviar Señal a Procesos

  2. Fundamentos de señales de Linux - Parte I

  3. ¿Cuál es la mejor manera de enviar una señal a todos los miembros de un grupo de procesos?

  4. ¿Cuándo es útil setsid() o por qué necesitamos agrupar procesos en Linux?

  5. ¿Cuál es la definición de una sesión en Linux?

Cómo matar procesos Zombie en Linux

Cómo enviar procesos a segundo plano en Linux

Supervisión de procesos en Linux

Comandos para la Gestión de Procesos en Linux

Cómo enviar procesos a segundo plano en Linux

¿Qué es un proceso detenido en Linux?