Linux Signal (1): 基本概念

原创 2007年09月14日 10:51:00

1. 信号是软件中断:

信号提供了一种处理异步事件的方法. 每个信号都有一个名字, 他们以SIG开头, 如SIGALRM是闹钟信号, 当由alarm函数设置的计时器超时后产生此信号, 然后由SIGALRM的信号处理函数接管处理, 处理之后返回调用alarm函数的应用程序中.

2. 信号编号:

在头文件<signal.h>中, 信号都用宏定义为正整数的信号编号, 不存在编号为0的信号, kill函数对编号为0的信号有特殊的作用. POSIX.1将编号为0的信号定义为空信号, 如果kill中的signo参数为0, 则kill仍执行正常的错误检查, 但不发送信号. 这常被用来通过kill的返回值确定一个特定进程是否存在.

3. 不可忽略/捕捉的信号:

大多数信号都可以通过忽略进行处理, 但SIGKILL和SIGSTOP这两个信号不能被忽略. 因为它们是向超级用户提供使进程终止或停止的可靠方法. 另外, 如果忽略某些硬件异常产生的信号(例如非法内存引用或除0), 则进程的行为是未定义的.

4. 介绍几个常见信号:

SIGINT: 当用户按某些终端键时, 引发终端产生的信号. 如Ctrl+C键, 这将产生中断信号(SIGINT). 它将停止一个已失去控制的程序.

SIGSEGV: 由硬件异常(除数为0, 无效的内存引用等等)产生的信号. 这些条件通常由硬件检测到, 并将其通知内核. 然后内核为该条件发生时正在运行的进程产生该信号.

SIGURG: 在网络连接上传来带外数据时产生.

SIGPIPE: 在管道的读进程已终止后, 一个进程写此管道时产生. 当类型为SOCK_STREAM的socket已不再连接时, 进程写到该socket也产生此信号.

SIGALRM: 进程所设置的闹钟时钟超时的时候产生.

SIGABRT: 进程调用abort函数时产生此信号, 进程异常终止.

SIGCHLD: 在一个进程终止或停止时, 它将把该信号发送给其父进程. 按系统默认, 将忽略此信号. 如果父进程希望被告知其子进程的这种状态改变, 则应该捕捉此信号. 通常是用wait系列函数捕捉, 如果不wait的话, 子进程将成为一个僵尸进程.

SIGIO: 此信号指示一个异步I/O事件.

SIGSYS: 该信号指示一个无效的系统调用.

SIGTSTP: 交互式停止信号. Ctrl+Z, 按下时, 终端将产生此信号, 进程被挂起.

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Linux Signal (2): signal函数

1. 原型:#include signal.h>void (*signal(int signo, void (*func)(int))(int);成功则返回该信号以前的处理配置, 出错则返回SIG_E...

Linux信号signal介绍,signal()函数,sigaction()函数

signal( SIGINT, SigIntHandler ); /* Ctrl-C handler */       static int     b_ctrl_c = 0;   &...

Signal ()函数详细介绍 Linux函数

signal()函数理解 在 这个头文件中。 signal(参数1,参数2); 参数1:我们要进行处理的信号。系统的信号我们可以再终端键入 kill -l查看(共64个)。其实这些信号时系统定义...

【Linux函数】Signal ()函数详细介绍

1. 功能设置某一信号的对应动作2. 声明#include typedef void (*sighandler_t)(int); sighandler_t signal(int signum, si...
  • yockie
  • yockie
  • 2016-06-21 19:49
  • 9243

Linux进程间通信——使用信号

一、什么是信号 用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中...

Linux信号(signal) 机制分析

转载自:http://www.cnblogs.com/hoys/archive/2012/08/19/2646377.html ===============================...

Android视频点播-边播边缓存-方案

Android视频点播-边播边缓存-方案简述一些知名的视频app客户端(优酷,爱奇艺)播放视频的时候都有一些缓存进度(二级进度缓存),qq,微信有关的小视频,还有一些短视频app,都有边播边缓的处理。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)