respuestas permeables a estas preguntas se han centrado en las horquillas:¿Cómo puedo eliminar las llamadas al "sistema" de Perl cuando se mata la secuencia de comandos principal?
- kill background process when shell script exit
- How to make child process die after parent exits?
- Are child processes created with fork() automatically killed when the parent is killed?
Para esta pregunta, sólo estoy preguntando acerca de las llamadas a la función de 'sistema' .
Decir que tengo un script llamado sleep.pl:
use strict;
use warnings;
sleep(300);
que a continuación tienen una escritura llamada kill.pl
use strict;
use warnings;
system("sleep.pl");
corro kill.pl y usando ps encontrar el ID de proceso de kill.pl y matarlo (no usar kill -9, solo kill normal)
sleep.pl todavía está sleepi ng.
Imagino que la solución a mi pregunta implica un controlador SIG, pero ¿qué debo poner en el controlador para matar el proceso secundario?
Esto necesita etiquetas adicionales. [matar] por ejemplo. –