#include<stdio.h>
#include<signal.h>
void handler(int signo)
{
printf("Into handler\n");
while(1);
}
int main()
{
struct sigaction act;
act.sa_handler = handler;
act.sa_flags = 0;
sigemptyset(& act.sa_mask);
sigaction(SIGINT, &act, NULL);
while(1);
return 0;
}
После ловли KeyboardInterrupt один раз, когда я нажимаю «Ctrl + C» снова, SIGINT не обрабатывается ... я намереваюсь, что «В обработчике» должен быть напечатан каждый раз, когда я , нажмите «Ctrl + C».Поймав сигнал внутри своего собственного обработчика
Я хочу, чтобы поймать SIGINT внутри «SIGINT обработчик()» сам ..
Я получил то, что хотел .. Thanx .. :) –
Остерегайтесь: это не гарантирует, что вы не потеряете сигналы! Если ваш процесс получает несколько сигналов, отличных от реального времени одного и того же типа, когда он не находится во временном интервале или в режиме бесперебойного вызова ядра, то второй (и далее) сигналы будут потеряны. – peterh