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