Como posso ativar ctrl-c / ctrl + break após ligar para o sistema?

Eu escrevi um programa que chama um comando do sistema por dentro:

#include <stdlib.h>

int main(void)
{
    while(1)
    {
        system("ls 2>&1 1>/dev/null"); // comment this line out to enable ctrl+break
    }

    return 0;
}

No entanto, quando está em execução, CTRL + C e CTRL + BREAK não funcionam mais e parecem ser ignoradas.

Estou tentando escrever um programa que executa algumas operações em segundo plano envolvendo o shell, mas também quero poder interromper o programa quando o usuário desejar.

Existe uma maneira de fazê-lo funcionar da maneira que eu quero? Devo alterar a arquitetura para executar algum tipo de fork / exec?

questionAnswers(3)

yourAnswerToTheQuestion