Ctrl + C 키 이벤트 가로채기
18 Jul 2017 | C++11 EventLinux에서 작동하는 코드입니다. (Cygwin에서 빌드하면 윈도우에서도 작동합니다.)
기본적으로 Ctrl + C 키를 누르게 되면 프로그램이 강제로 종료되는데, 프로그램이 종료되기 전에 뭔가 처리해야 할 요소가 있다면 아래의 코드를 이용해서 Ctrl + C 키 이벤트를 가로챌 수 있습니다.
예제 코드
#include <cstdio>
#include <sys/stat.h>
#include <cstdlib>
#include <unistd.h>
void (*breakCapture)(int);
void signalingHandler(int signo) {
printf("'Ctrl + C' processing...");
exit(1);
}
using namespace std;
int main(void) {
printf("Hello SnowDeer.\n");
setsid();
umask(0);
breakCapture = signal(SIGINT, signalingHandler);
while(true) {
printf("Hello...\n");
sleep(1);
}
return 0;
}
실행 화면
