《Linux系统调用:signal,pause》

一、介绍

信号是事件发生时对进程的通知机制。信号是Linux 进程间通信的最古老的方式。信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。信号与硬件中断的相似之处在于打断了程序执行的正常流程,大多数情况下,无法预测信号到达的精确时间。
发往进程的多数信号通常是由内核发送的。

信号可以直接进行用户空间进程和内核空间进程的交互,内核进程可以利用它来通知用户空间进程发生了哪些系统事件。
一个完整的信号周期包括三个部分:
信号的产生,信号在进程中的注册,信号在进程中的注销,执行信号处理函数。如下图所示:

《Linux系统调用:signal,pause》_第1张图片

signal()注册信号处理函数(不可用于 SIGKILL、SIGSTOP 信号),即确定收到信号后处理函数的入口地址。此函数

你可能感兴趣的:(Linux/Unix,系统调用)