Как я могу включить 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?