当前位置: 首页 > news >正文

Linux : 31个普通信号含义

Linux : 31个普通信号

  • 信号含义
  • 特殊的两个信号

信号含义

信号编号信号名信号含义
1SIGHUP如果终端接口检测到一个连接断开,则会将此信号发送给与该终端相关的控制进程,该信号的默认处理动作是终止进程。
2SIGINT当用户按组合键(一般采用Ctrl+C)时,终端驱动程序产生此信号并发送至前台进程组中的每一个进程,该信号的默认处理动作是终止进程。
3SIGQUIT当用户按组合键(一般采用Ctrl+\)时,终端驱动程序产生此信号并发送至前台进程组中的每一个进程,该信号不仅终止前台进程组,同时会产生一个core文件。
4SIGILL此信号表示进程已执行一条非法指令,该信号的默认处理动作是终止进程,同时产生一个core文件。
5SIGTRAP该信号由断点指令或其他trap指令产生,该信号的默认处理动作是终止进程,同时会产生一个core文件。
6SIGABRT调用abort函数是产生此信号,进程异常终止,同时会产生一个core文件。
7SIGBUS当出现某些类型的内存故障时,常常产生该信号,,该信号的默认处理动作是终止进程,同时产生一个core文件。
8SIGFPE此信号表示一个算术运算异常,比如除0、浮点溢出等,该信号的默认处理动作是终止进程,同时产生一个core文件。
9SIGKILL该信号不能被捕捉或忽略,它向系统管理员提供了一种可以杀死任一进程的可靠方法。
10SIGUSR1这是一个用户定义的信号,即程序员可以在程序中定义并使用该信号,该信号的默认处理动作是终止进程。
11SIGSEGV指示进程进行了一次无效的内存访问(比如访问了一个未初始化的指针),该信号的默认处理动作是终止进程并产生一个core文件。
12SIGUSR2这是另一个用户定义的信号,与SIGUSR1相似,该信号的默认处理动作是终止进程。
13SIGPIPE如果在管道的读进程已终止时对管道进行写入操作,则会收到此信号,该信号的默认处理动作是终止进程。
14SIGALRM当用alarm函数设置的定时器超时时产生此信号,或由setitimer函数设置的间隔时间已经超时时也产生会此信号。
15SIGTERM该信号是由应用程序捕获的,使用该信号让程序有机会在退出之前做好清理工作。与SIGKILL信号不同的是,该信号可以被捕捉或忽略,通常用来表示程序正常退出。
16SIGSTKFLT该信号指示协处理器上的堆栈故障(未使用),该信号的默认处理动作是终止进程。
17SIGCHLD在一个进程终止或停止时,SIGCHLD信号被发送给其父进程。按系统默认,将忽略此信号。如果父进程希望被告知其子进程的这种状态改变,则应捕捉此信号。信号捕捉函数中通常要调用一种wait函数以取得子进程ID及其终止状态。
18SIGCONT可以通过发送该信号让一个停止的进程继续运行。
19SIGSTOP这时一个作业控制信号,该信号用于停止一个进程,类似于交互停止信号(SIGTSTP),但是该信号不能被捕捉或忽略。
20SIGTSTP交互停止信号,当用户按组合键(一般采用Ctrl+Z)时,终端驱动程序产生此信号并发送至前台进程组中的每一个进程。
21SIGTTIN后台进程读终端控制台时,由终端驱动程序产生此信号并发送给该后台进程,该信号的默认处理动作是暂停进程。
22SIGTTOU后台进程向终端控制台输出数据,由终端驱动程序产生此信号并发送给该后台进程,该信号的默认处理动作是暂停进程。
23SIGURG套接字上有紧急数据时,向当前正在运行的进程发出此信号,报告有紧急数据到达,该信号的默认处理动作是忽略。
24SIGXCPU进程执行时间超过了分配给该进程的CPU时间,系统产生该信号并发送给该进程,该信号的默认处理动作是终止进程,同时会产生一个core文件。
25SIGXFSZ如果进程写文件时超过了文件的最大长度设置,则会收到该信号,该信号的默认处理动作是终止进程,同时会产生一个core文件。
26SIGVTALRM虚拟时钟超时时产生该信号,与SIGALRM信号类似,但是该信号只计算该进程占用CPU的使用时间,该信号的默认处理动作是终止进程。
27SIGPROF该信号类似与SIGVTALRM,它不仅包括该进程占用CPU的时间还包括执行系统调用的时间,该信号的默认处理动作是终止进程。
28SIGWINCH当窗口大小发生变化时,内核会将该信号发送至前台进程组,该信号的默认处理动作是忽略。
29SIGIO此信号指示一个异步I/O事件,该信号的默认处理动作是终止进程。
30SIGPWR电源故障,该信号的默认处理动作是终止进程。
31SIGSYS该信号指示一个无效的系统调用,该信号的默认处理动作是终止进程,同时会产生一个core文件。

特殊的两个信号

其中SIGKILL(9号)和SIGSTOP(19号)都不能被忽略或捕捉!!

http://www.xdnf.cn/news/396325.html

相关文章:

  • LlamaIndex 第七篇 结构化数据提取
  • Java常用类-String三剑客
  • 不换设备秒通信,PROFINET转Ethercat网关混合生产线集成配置详解
  • iVX:图形化编程与组件化的强强联合
  • CSS 盒子模型与元素定位
  • 汽车诊断简介
  • 【Linux高级全栈开发】2.1高性能网络-网络编程——2.1.1 网络IO与IO多路复用——select/poll/epoll
  • 1、虚拟人物角色聊天 AI Agent 设计方案
  • FME处理未知或动态结构教程
  • FPGA生成随机数的方法
  • 2505d,d的一些疑问
  • all-in-one方式安装kubersphere时报端口连接失败
  • C++.变量与数据类型
  • 单片机调用printf概率性跑飞解决方法
  • Go语言实现分布式锁:从原理到实践的全面指南
  • 网络编程(一)网络编程入门
  • LLMs之Mistral Medium 3:Mistral Medium 3的简介、安装和使用方法、案例应用之详细攻略
  • 使用 Java 反射打印和操作类信息
  • Typora输入文字卡顿的问题(原因过长上万字)
  • Spyglass:默认配置文件
  • VMware安装CentOS Stream10
  • ArtStation APP:全球艺术家的创作与交流平台
  • 九、STM32入门学习之WIFI模块(ESP32C3)
  • 轻量级高性能推理引擎MNN 学习笔记 01.初识MNN
  • 跟我学c++高级篇——模板元编程之十三处理逻辑
  • E+H流量计profibus协议如何转换成profinet协议
  • C语言_函数调用栈的汇编分析
  • 【AI论文】作为评判者的感知代理:评估大型语言模型中的高阶社会认知
  • 二分查找的理解
  • Object类