当前位置: 代码迷 >> 综合 >> 1.1进程间通信: 信号 signal()、sigaction()
  详细解决方案

1.1进程间通信: 信号 signal()、sigaction()

热度:66   发布时间:2023-10-16 00:12:13.0

一、什么是信号

用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。

信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们还可以作为进程间通信或修改行为的一种方式,明确地由一个进程发送给另一个进程。一个信号的产生叫生成,接收到一个信号叫捕获。

二、信号的种类

信号的名称是在头文件signal.h中定义的,信号都以SIG开头,常用的信号并不多,常用的信号如下:

1.1进程间通信: 信号 signal()、sigaction()

三、信号的处理 —— signal()函数

程序可用使用signal()函数来处理指定的信号,主要通过忽略和恢复其默认行为来工作。signal()函数的原型如下:

#include <
  相关解决方案