Linux--信号中断

一、信号中断

信号时Linux中的一种软件中断处理机制
信号的名字都以字符SIG开头
头文件
void (*signal(int signo,void(*func)(int)))(int);
signo是信号名
func的取值:
-SIG_IGN,向内核表示忽略此信号
-SIG_DFL,接到此信号后的动作是系统默认动作

二、产生中断信号

1、Linux--信号中断_第1张图片
2Linux--信号中断_第2张图片
3、
Linux--信号中断_第3张图片

三、阻塞中断信号

信号阻塞:系统不传递该信号,显示进程无法接收该信号直到进程的信号掩码集发生改变。
信号忽略:系统仍然传递该信号,只是进程对该信号不作任何处理
五个信号集操作函数:
Linux--信号中断_第4张图片
Linux--信号中断_第5张图片
Linux--信号中断_第6张图片
Linux--信号中断_第7张图片
Linux--信号中断_第8张图片

四、等待中断信号

用**pause()**挂起进程,等待信号
头文件
int pause(void) 返回-1,errno设置为EINTR
pause()会挂起进程,只有执行了一个信号处理程序并从其返回时,pause才返回

你可能感兴趣的:(Linux)