da página man do sistema (3) -
system() executes a command specified in command by calling /bin/sh -c command, and returns after the command has been completed. During execution of the
command, SIGCHLD will be blocked, and SIGINT and SIGQUIT will be ignored.
Mesmo que o sinal seja enviado para todos os processos (especificados por nome), o pai aqui ignora o SIGINT durante a chamada system (). No entanto, ele deve responder quando a chamada estiver concluída (durante o sono () no seu caso) - você tentou aumentar a janela do sono?