Linux系统中的信号类型

各操作系统的信号定义或许有些不同。下面列出了POSIX中定义的信号。

在linux中使用34-64信号用作实时系统中。

命令 man 7 signal 提供了官方的信号介绍。也可以是用kill -l来快速查看

列表中,编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。

Linux支持的标准信号有以下一些,一个信号有多个值的是因为不同架构使用的值不一样,比如x86, ia64,ppc, s390, 有3个值的,第一个值是slpha和sparc,中间的值是 ix86,ia64, ppc, s390, arm和sh, 最后一个值是对mips的,连字符-表示这个架构是缺这个信号支持的,

第1列为信号名;

第2列为对应的信号值,需要注意的是,有些信号名对应着3个信号值,这是因为这些信号值与平台相关,将man手册中对3个信号值的说明摘出如下,the first one is usually valid for alpha and sparc, the middle one for i386, ppc and sh, and the last one for mips.

第3列为操作系统收到信号后的动作,Term表明默认动作为终止进程,Ign表明默认动作为忽略该信号,Core表明默认动作为终止进程同时输出core dump,Stop表明默认动作为停止进程。

第4列为对信号作用的注释性说明。

标准信号-POSIX.1-1990定义

Signal Value Action Comment

----------------------------------------------------------------------

SIGHUP 1 Term Hangup detected on controlling terminal

or death of controlling process

SIGINT 2 Term Interrupt from keyboard

SIGQUIT 3 Core Quit from keyboard

SIGILL 4 Core Illegal Instruction

SIGABRT 6 Core Abort signal from abort(3)

SIGFPE 8 Core Floating point exception

SIGKILL 9 Term Kill signal

SIGSEGV 11 Core Invalid memory reference

SIGPIPE 13 Term Broken pipe: write to pipe with no

readers

SIGALRM 14 Term Timer signal from alarm(2)

SIGTERM 15 Term Termination signal

SIGUSR1 30,10,16 Term User-defined signal 1

SIGUSR2 31,12,17 Term User-defined signal 2

SIGCHLD 20,17,18 Ign Child stopped or terminated

SIGCONT 19,18,25 Cont Continue if stopped

SIGSTOP 17,19,23 Stop Stop process

SIGTSTP 18,20,24 Stop Stop typed at tty

SIGTTIN 21,21,26 Stop tty input for background process

SIGTTOU 22,22,27 Stop tty output for background process

SIGKILL和SIGSTOP信号是不能被捕获,阻塞和忽略的。

标准信号-SUSv2 and POSIX.1-2001定义

Signal Value Action Comment

--------------------------------------------------------------------

SIGBUS 10,7,10 Core Bus error (bad memory access)

SIGPOLL Term Pollable event (Sys V).

Synonym for SIGIO

SIGPROF 27,27,29 Term Profiling timer expired

SIGSYS 12,-,12 Core Bad argument to routine (SVr4)

SIGTRAP 5 Core Trace/breakpoint trap

SIGURG 16,23,21 Ign Urgent condition on socket (4.2BSD)

SIGVTALRM 26,26,28 Term Virtual alarm clock (4.2BSD)

SIGXCPU 24,24,30 Core CPU time limit exceeded (4.2BSD)

SIGXFSZ 25,25,31 Core File size limit exceeded (4.2BSD)

linux进程优雅退出,Golang信号处理及如何实现进程的优雅退出详解相关推荐

  1. Linux Shell脚本入门教程系列之(八)Shell printf命令详解

    本文是Linux Shell脚本系列教程的第(八)篇,更多shell教程请看:Linux Shell脚本系列教程 在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对She ...

  2. viper4android io错误,golang常用库之配置文件解析库-viper使用详解

    一.viper简介 viper 配置管理解析库,是由大神 Steve Francia 开发,他在google领导着 golang 的产品开发,他也是 gohugo.io 的创始人之一,命令行解析库 c ...

  3. linux上连接ftp服务器,linux下lftp连接ftp服务器进行上传与下载的方法详解

    摘要 腾兴网为您分享:linux下lftp连接ftp服务器进行上传与下载的方法详解,中英翻译,中建在线,掌上看家,银行帮等软件知识,以及微信一键转发工具,小学英语冀教版,正是在下表情包,易问电信,万能 ...

  4. linux内核移植与开发板,Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解

    Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解 [复制链接] 今天终于让Linux内核在飞凌的板子上跑起来了,想来也是艰辛,为了移植成功,断断续续做了将近两个月的努力,期间郁闷不可 ...

  5. CentOS 7 Linux 的初始化系统(系统服务管理和控制程序/Init System) -- systemd 详解

    文章目录 一.systemd 的由来 (一)常用的 init 系统 (二)init 程序的缺点 (三)systemd 简介 (四)systemd 架构图 二.服务管理 三.unit 配置文件 (一)概 ...

  6. Linux内核 eBPF基础:perf(4)perf_event_open系统调用与用户手册详解

    Linux内核 eBPF基础 perf(4)perf_event_open系统调用与用户手册详解 荣涛 2021年5月19日 本文相关注释代码:https://github.com/Rtoax/lin ...

  7. Linux系统快速查看CPU和内存使用情况,附各参数详解

    Linux系统中查看CPU和内存使用情况,是一个运维工程师常见的事情,下面分享一下. 目 录 1.top命令 2.ps命令 3.free命令 1.top命令 top命令是Linux下常用的性能分析工具 ...

  8. [Samba] Linux(Centos)samba服务安装,Samba文件共享及Samba配置详解

    本片博客主要介绍了[Samba] Linux(Centos)samba文服务器安装案例,samba共享,samba服务,samba配置详解及网页配置samba工具samba-swat 的使用方法等. ...

  9. linux编译有趣c程序,12个有趣的C语言问答(详解)

    12个有趣的C语言问答(详解) 1 gets()方法 Q:下面的代码有一个被隐藏的问题,你能找到它吗? 1 #include 2 3 int main(void) 4 { 5    char buff ...

最新文章

  1. 小样,加张图你就不认识我了?“补丁”模型骗你没商量!| 技术头条
  2. 什么是泛型缓存和静态构造函数?
  3. Android之给图片添加涂鸦(文字)
  4. 腾讯TencentOS 十年云原生的迭代演进之路
  5. CF1137C:Museums Tour(缩点、分层图)
  6. 集合——对象数组(引用数据类型数组)
  7. 【LeetCode】3月30日打卡-Day15
  8. 【Navicat】查看1000行以后的内容
  9. 日语学习-多邻国-平假名
  10. DPDK如何释放大页内存(巨页内存hugepage)
  11. 3d建模电脑配置要求_专业3d动画建模需要什么配置 运行Blender的电脑配置推荐
  12. linux拨号日志,Linux系统日志管理:(1)连接时间日志
  13. php foreach 不等于_PHP性能优化小技巧
  14. matlab中men,matlab blackman函数
  15. Airbnb房源信息爬取(二)——获取房源信息
  16. iOS 内购最新讲解
  17. java+mysql基于ssm的校园快递代领系统
  18. fgn matlab,maching learning NG的matlab作业代码
  19. 装了Db2 udb 8.2
  20. redhat linux 字体安装,Linux: 字体安装

热门文章

  1. Python: 如何安装 torch 对应的 torchvision 版本?
  2. Python:Python3错误提示TypeError: slice indices must be integers or None or have an __index__ method解决办法
  3. weblogic对JSP预编译、weblogic读取JSP编译后的class文件、ant中weblogic.jspc预编译JSP
  4. isinstance 判断归属
  5. linux下安装apache + subversionSVN_Subversion
  6. 网络对抗技术实验二,第一部分,第二部分
  7. HashSet、LinkedHashSet、TreeSet
  8. 查看操作系统和处理器的位数
  9. MATLAB 四元数旋转函数
  10. OpenCV-差分法实现绿叶识别(图像差分+颜色通道)