Как я могу включить ctrl-c / ctrl + break после вызова системы?

Я написал программу, которая вызывает системную команду изнутри:

#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;
}

Однако, когда он работает, CTRL + C и CTRL + BREAK больше не работают и, похоже, игнорируются.

Я пытаюсь написать программу, которая выполняет некоторые операции в фоновом режиме, включая оболочку, но я также хочу иметь возможность выйти из программы, когда пользователь хочет сломаться.

Есть ли способ заставить его работать так, как я хочу? Должен ли я изменить архитектуру для выполнения какого-то форка / exec?

Ответы на вопрос(3)

Ваш ответ на вопрос