C++中捕捉信号

测试程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 通过signal捕捉信号

#include <iostream>
#include <signal.h>
#include <unistd.h>

void signalHandle(int sig) {
std::cout << "SIGNAL: " << sig << std::endl;
}

int main(int argc, char *argv[]) {
// 从键盘输入的中断(Ctrl + C)
signal(SIGINT, signalHandle);
// 从键盘输入的退出(Ctrl + \)
signal(SIGQUIT, signalHandle);
// 在控制终端上是挂起信号(关闭终端窗口)
signal(SIGHUP, signalHandle);

// 等待信号
pause();

return 0;
}