Вы вызываете SIGINT
нажатием Ctrl + C .
Пример кода:
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
void siginthandler(int param)
{
printf("User pressed Ctrl+C\n");
exit(1);
}
int main()
{
signal(SIGINT, siginthandler);
while(1);
return 0;
}
При запуске:
$ ./a.out
^CUser pressed Ctrl+C
$
(Обратите внимание, что это чистый код на C, хотя должен работать на C ++)
Редактировать: единственный известный мне способ отправки SIGINT
, кроме интерактивного нажатия Ctrl + C , использует kill(pid, SIGINT)
, как вы сказали ...