<摘录>linux signal 列表
Linux支持POSIX标准信号和实时信号。下面给出Linux Signal的简表,详细细节可以查看man 7 signal。
默认动作的含义如下:
- 中止进程(Term)
- 忽略信号(Ign)
- 中止进程并保存内存信息(Core)
- 停止进程(Stop)
- 继续运行进程(Cont)
| 信号 | 取值 | 默认动作 | 含义(发出信号的原因) |
| SIGHUP | Term | 终端的挂断或进程死亡 | |
| SIGINT | Term | 来自键盘的中断信号 | |
| SIGQUIT | Core | 来自键盘的离开信号 | |
| SIGILL | Core | 非法指令 | |
| SIGABRT | Core | 来自abort的异常信号 | |
| SIGFPE | Core | 浮点例外 | |
| SIGKILL | Term | 杀死 | |
| SIGSEGV | Core | 段非法错误(内存引用无效) | |
| SIGPIPE | Term | 管道损坏:向一个没有读进程的管道写数据 | |
| SIGALRM | Term | 来自alarm的计时器到时信号 | |
| SIGTERM | Term | 终止 | |
| SIGUSR1 | 30,10,16 | Term | 用户自定义信号1 |
| SIGUSR2 | 31,12,17 | Term | 用户自定义信号2 |
| SIGCHLD | 20,17,18 | Ign | 子进程停止或终止 |
| SIGCONT | 19,18,25 | Cont | 如果停止,继续执行 |
| SIGSTOP | 17,19,23 | Stop | 非来自终端的停止信号 |
| SIGTSTP | 18,20,24 | Stop | 来自终端的停止信号 |
| SIGTTIN | 21,21,26 | Stop | 后台进程读终端 |
| SIGTTOU | 22,22,27 | Stop | 后台进程写终端 |
| SIGBUS | 10,7,10 | Core | 总线错误(内存访问错误) |
| SIGPOLL | Term | Pollable事件发生(Sys V),与SIGIO同义 | |
| SIGPROF | 27,27,29 | Term | 统计分布图用计时器到时 |
| SIGSYS | 12,-,12 | Core | 非法系统调用(SVr4) |
| SIGTRAP | Core | 跟踪/断点自陷 | |
| SIGURG | 16,23,21 | Ign | socket紧急信号(4.2BSD) |
| SIGVTALRM | 26,26,28 | Term | 虚拟计时器到时(4.2BSD) |
| SIGXCPU | 24,24,30 | Core | 超过CPU时限(4.2BSD) |
| SIGXFSZ | 25,25,31 | Core | 超过文件长度限制(4.2BSD) |
| SIGIOT | Core | IOT自陷,与SIGABRT同义 | |
| SIGEMT | 7,-,7 | Term | |
| SIGSTKFLT | -,16,- | Term | 协处理器堆栈错误(不使用) |
| SIGIO | 23,29,22 | Term | 描述符上可以进行I/O操作 |
| SIGCLD | -,-,18 | Ign | 与SIGCHLD同义 |
| SIGPWR | 29,30,19 | Term | 电力故障(System V) |
| SIGINFO | 29,-,- | 与SIGPWR同义 | |
| SIGLOST | -,-,- | Term | 文件锁丢失 |
| SIGWINCH | 28,28,20 | Ign | 窗口大小改变(4.3BSD, Sun) |
| SIGUNUSED | -,31,- | Term | 未使用信号(will be SIGSYS) |
说明:
一些信号的取值是硬件结构相关的(一般alpha和sparc架构用第一个值,i386、ppc和sh架构用中间值,mips架构用第三个值, - 表示相应架构的取值未知)。
蓝色的是POSIX.1-1990标准信号。
SIGKILL和SIGSTOP信号不能被挂钩、阻塞或忽略。
青色的是SUSv2和POSIX.1-2001定义的信号。
在Linux 2.2(包括)内核之前,SIGSYS、SIGXCPU、SIGXFSZ和SIGBUS (SPARC和MIPS架构除外)的默认动作是终止进程,但没有core dump。Linux 2.4遵循POSIX.1-2001要求,这些信号的默认动作改为:终止进程同时做core dump。
橙色的是其他常见的信号。
信号29在Alpha上为SIGINFO / SIGPWR ,在Sparc上为SIGLOST。
SIGEMT没有在POSIX.1-2001中说明,但是在大多数的Unices中仍然能见到,典型的默认动作是终止进程并做core dump。
SIGPWR没有在POSIX.1-2001中说明,在使用它的一些Unices中典型的默认动作是忽略。
SIGIO没有在POSIX.1-2001中说明,在使用它的一些Unices中典型的默认动作是忽略。
进程可以通过使用sigaction和signal系统调用来改变信号的默认处理方式(使用signal的可移植性差)。进程可以选择下列3种信号处理方式中的一种:
1、执行默认操作;
2、忽略该信号;
3、捕获该信号,但是通过信号句柄来调用自定义的处理函数。
信号可能被阻塞。进程中的每个线程拥有独立的信号掩码,用来表示本线程的信号被阻塞。线程通过pthread_sigmask来设置它的信号掩码。单线程程序可以用sigprocmask来操作信号掩码。在多线程程序中,所有线程处理一个指定信号的默认行为都是一样的。
<摘录>linux signal 列表的更多相关文章
- linux signal 列表
Linux 信号表 Linux支持POSIX标准信号和实时信号.下面给出Linux Signal的简表,详细细节可以查看man 7 signal. 默认动作的含义如下: Term 终止进程 ...
- [Linux]Linux系统调用列表
本文列出了大部分常见的Linux系统调用,并附有简要中文说明. 以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数.这可能是你在互联网上所能看到的唯一一篇中文注释的 ...
- Linux系统调用列表
转自Linux系统调用列表 一.进程控制: fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtabl ...
- linux signal 处理
v/:* {behavior:url(#default#VML);} o/:* {behavior:url(#default#VML);} w/:* {behavior:url(#default#VM ...
- UNIX环境高级编程——Linux系统调用列表
以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数.这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完 ...
- Linux系统调用列表(转)
以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数.这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完 ...
- linux signal之初学篇
前言 本博文只总结signal的应用,对signal的kernel实现暂不讨论. 1. linux signal是什么? signal是linux提供的用于进程间通信的一种IPC机制. 2. 如何发送 ...
- Linux 操作命令列表记录
Linux 操作命令列表记录 SSH登录 登录 ## 范式 ssh [username]@[host] ## 例 ssh -p 1222 root@10.0.0.1 使用非默认端口(ssh默认端口22 ...
- Linux以列表格式显示块设备
Linux以列表格式显示块设备 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MO ...
随机推荐
- curl基于URL的文件传输工具
简介 cURL是一款开源的基于URL的文件传输工具,支持HTTP.HTTPS.FTP等协议,支持POST.cookie.认证.扩展头部.限速等特性. curl命令用途广泛,比如下载.发送http请求. ...
- 安装scrapy 出错 building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required.
安装Scrapy出现错误: building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. ...
- Android学习笔记(四) 定时器Timer
Android考虑到线程安全问题,不允许在线程中执行UI线程. 所以在线程中不允许有UI操作 可以利用Handler机制来接收Timer每隔一秒发出的信息,也可以直接利用handler机制的 1.方法 ...
- MySql学习笔记——存储函数
在学习完存储过程后,今天主要回顾一下mysql中的存储函数的知识. 函数与存储过程的区别 首先,存储函数也是过程式对象之一,与存储过程相似.它们都是由SQL和过程式语句组成的代码片断,并且可以从应用程 ...
- Cookie/Session的认识
Cookie 1.cookie是什么? cookie是一小段文本,伴随着用户请求和页面在web服务器和浏览器之间传递,cookie包含每次用户访问站点时,web应用程序都可以读取的信息 2.为什么需要 ...
- PHP完整的AES加解密算法使用及例子(256位)
依赖PHP自身的mcrypt扩展 <?php class aes { // CRYPTO_CIPHER_BLOCK_SIZE 32 private $_secret_key = 'default ...
- 16.Spark Streaming源码解读之数据清理机制解析
原创文章,转载请注明:转载自 听风居士博客(http://www.cnblogs.com/zhouyf/) 本期内容: 一.Spark Streaming 数据清理总览 二.Spark Streami ...
- poj2362 Square(DFS)
题目链接 http://poj.org/problem?id=2362 题意 输入n根棍子的长度,求这n根棍子是否能组成一个正方形. 思路 假设能组成正方形,则正方形的周长为sum,sum/4为正方形 ...
- [hdu4667]Building Fence 计算几何 瞎瘠薄搞
大致题意: 给出n个圆和m个三角形,求最小的的,能将所有图形覆盖的图形的周长. 正解为求所有三角形顶点与圆的切点以及圆和圆的切点构造凸包,再求路径. 因为要求结果误差<=1e-3 所以 我们可以 ...
- hihocoder 1500 EL SUENO
树上背包. 简单的树形$dp$,计算出摧毁每一个节点所需的最小费用,背包即可. #include<bits/stdc++.h> using namespace std; struct X ...