目录
(3)默认响应方式 (正常情况下是默认的,Ctrl+c退出)
(4)自定义响应方式, (通过signal系统调用更改信号的响应方式)。
1、信号
(1)定义:信号是系统响应某个条件而产生的事件,进行接收到信号会执行响应的操作;
(2)与其信号有关的系统调用在<signal.h>头文件中;
(3)信号的代号的存储位置:
/usr/include/x86_64-linux-gnu/bits/signum.h
2、常见的信号的值及对应的功能说明
信号名称 说明
SIGABORT *进程异常终止
SIGALRM 超时警告
SIGFPE *浮点运算异常
SIGHUP 连接挂断
SIGILL *非法指令
SIGINT 终端中断
SIGKILL 终止进程(此信号不能被捕获或忽略)
SIGPIPE 向无读进程的管道写数据
SIGQT 终端退出
SIGSEGV *无效内存段访问
SIGTERM 终止
SIGUSR1 用户定义信号1
SIGUSR2 用户定义信号2
3、信号名称、信号代号
#define SIGHUP 1
#define SIGINT 2 //键盘按下 Ctrl+c 时,会产生终端中断信号
#define SIGQUIT 3//键盘按下 Ctrl+\ 时,会产生终端退出信号
#define SIGILL 4
#define SIGTRAP 5
#define SIGABRT 6
#define SIGIOT 6
#define SIGBUS 7
#define SIGFPE 8
#define SIGKILL 9 //该信号的响应方式不允许改变
#define SIGUSR1 10
#define SIGSEGV 11
#define SIGUSR2 12
#define SIGPIPE 13 //读端关闭的描述符,写端写入时产生,该信号会终止程序(向无读进程的管道写数据)
#define SIGALRM 14
#define SIGTERM 15 //系统 kill 命令默认发送的信号
#define SIGSTKFLT 16
#define SIGCHLD 17 //子进程结束后,会默认给父进程发送该信号
#defi