`
andrew913
  • 浏览: 187697 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

linux 下的几种信号解释

阅读更多
SIGHUP     终止进程     终端线路挂断
SIGINT     终止进程     中断进程
SIGQUIT   建立CORE文件终止进程,并且生成core文件
SIGILL   建立CORE文件       非法指令
SIGTRAP   建立CORE文件       跟踪自陷
SIGBUS   建立CORE文件       总线错误
SIGSEGV   建立CORE文件       段非法错误
SIGFPE   建立CORE文件       浮点异常
SIGIOT   建立CORE文件       执行I/O自陷
SIGKILL   终止进程     杀死进程
SIGPIPE   终止进程     向一个没有读进程的管道写数据
SIGALARM   终止进程     计时器到时
SIGTERM   终止进程     软件终止信号
SIGSTOP   停止进程     非终端来的停止信号
SIGTSTP   停止进程     终端来的停止信号
SIGCONT   忽略信号     继续执行一个停止的进程
SIGURG   忽略信号     I/O紧急信号
SIGIO     忽略信号     描述符上可以进行I/O
SIGCHLD   忽略信号     当子进程停止或退出时通知父进程
SIGTTOU   停止进程     后台进程写终端
SIGTTIN   停止进程     后台进程读终端
SIGXGPU   终止进程     CPU时限超时
SIGXFSZ   终止进程     文件长度过长
SIGWINCH   忽略信号     窗口大小发生变化
SIGPROF   终止进程     统计分布图用计时器到时
SIGUSR1   终止进程     用户定义信号1
SIGUSR2   终止进程     用户定义信号2
SIGVTALRM 终止进程     虚拟计时器到时

1) SIGHUP 本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控
制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端
不再关联.
2) SIGINT 程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出
3) SIGQUIT 和SIGINT类似, 但由QUIT字符(通常是Ctrl-)来控制. 进程在因收到
SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信
号.
4) SIGILL 执行了非法指令. 通常是因为可执行文件本身出现错误, 或者试图执行
数据段. 堆栈溢出时也有可能产生这个信号.
5) SIGTRAP 由断点指令或其它trap指令产生. 由debugger使用.
6) SIGABRT 程序自己发现错误并调用abort时产生.
6) SIGIOT 在PDP-11上由iot指令产生, 在其它机器上和SIGABRT一样.
7) SIGBUS 非法地址, 包括内存地址对齐(alignment)出错. eg: 访问一个四个字长
的整数, 但其地址不是4的倍数.
8) SIGFPE 在发生致命的算术运算错误时发出. 不仅包括浮点运算错误, 还包括溢
出及除数为0等其它所有的算术的错误.
9) SIGKILL 用来立即结束程序的运行. 本信号不能被阻塞, 处理和忽略.
10) SIGUSR1 留给用户使用
11) SIGSEGV 试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据.
12) SIGUSR2 留给用户使用
13) SIGPIPE Broken pipe
14) SIGALRM 时钟定时信号, 计算的是实际的时间或时钟时间. alarm函数使用该
信号.
15) SIGTERM 程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和
处理. 通常用来要求程序自己正常退出. shell命令kill缺省产生这
个信号.
17) SIGCHLD 子进程结束时, 父进程会收到这个信号.
18) SIGCONT 让一个停止(stopped)的进程继续执行. 本信号不能被阻塞. 可以用
一个handler来让程序在由stopped状态变为继续执行时完成特定的
工作. 例如, 重新显示提示符
19) SIGSTOP 停止(stopped)进程的执行. 注意它和terminate以及interrupt的区别:
该进程还未结束, 只是暂停执行. 本信号不能被阻塞, 处理或忽略.
20) SIGTSTP 停止进程的运行, 但该信号可以被处理和忽略. 用户键入SUSP字符时
(通常是Ctrl-Z)发出这个信号
21) SIGTTIN 当后台作业要从用户终端读数据时, 该作业中的所有进程会收到SIGTTIN
信号. 缺省时这些进程会停止执行.
22) SIGTTOU 类似于SIGTTIN, 但在写终端(或修改终端模式)时收到.
23) SIGURG 有"紧急"数据或out-of-band数据到达socket时产生.
24) SIGXCPU 超过CPU时间资源限制. 这个限制可以由getrlimit/setrlimit来读取/
改变
25) SIGXFSZ 超过文件大小资源限制.
26) SIGVTALRM 虚拟时钟信号. 类似于SIGALRM, 但是计算的是该进程占用的CPU时间.
27) SIGPROF 类似于SIGALRM/SIGVTALRM, 但包括该进程用的CPU时间以及系统调用的
时间.
28) SIGWINCH 窗口大小改变时发出.
29) SIGIO 文件描述符准备就绪, 可以开始进行输入/输出操作.
30) SIGPWR Power failure

有两个信号可以停止进程:SIGTERM和SIGKILL。 SIGTERM比较友好,进程能捕捉这个信号,根据您的需要来关闭程序。在关闭程序之前,您可以结束打开的记录文件和完成正在做的任务。在某些情况下,假如进程正在进行作业而且不能中断,那么进程可以忽略这个SIGTERM信号。

对于SIGKILL信号,进程是不能忽略的。这是一个 “我不管您在做什么,立刻停止”的信号。假如您发送SIGKILL信号给进程,Linux就将进程停止在那里。
分享到:
评论

相关推荐

    linux下几种最常用的IPC接口,这样一来,统一了接口,提高代码重用性.rar

    信号是Unix/Linux系统在一定条件下生成的事件。信号是一种异步通信机制,进程不需要执行任何操作来等待信号的到达。信号异步通知接收信号的进程发生了某个事件,然后操作系统将会中断接收到信号的进程的执行,转而去...

    Linux中进程间信号通信机制的分析及其应用.pdf

    在Linux系统中,有多种类型的信号,每种信号都有其特定的作用。例如,SIGINT信号是用来终止进程的,SIGTERM信号是用来请求进程终止的,SIGKILL信号是用来强制终止进程的。这些信号可以被进程捕捉和处理,以便在合适...

    浅析Linux进程通信的几种方式及其比较.pdf

    "浅析Linux进程通信的几种方式及其比较" Linux 进程通信是操作系统中一个非常重要的概念。进程通信是指至少两个进程之间传送数据或者信号的一些技术和方法。进程是计算机系统分配资源的基本单位,每个进程都有自己...

    linux 常用 c 库函数

    包含linux环境下的数学函数、环境变量、接口处理、进程操作、内存及字符串操作、日期时间、文件操作、信号处理、用户组、终端控制 等各种常用库函数的用法介绍 值得参考一下

    Linux下有中断端点的USB设备驱动的实现.pdf

    在Linux操作系统下,USB设备驱动的实现主要涉及到以下几个方面: 1. USB设备驱动框架:Linux提供了一个框架来实现USB设备驱动程序,该框架包括USB核心模块、USB设备驱动模块和应用程序接口。 2. USB设备驱动程序...

    Linux下基于多线程的服务器程序设计.pdf

    为了解决这些问题,文章介绍了一种基于Linux下的多线程服务器程序设计方法。 多线程服务器程序设计的优点是可以解决传统服务器工作方式的三个缺点。首先,创建线程比创建进程快10~100倍,能快速地响应客户请求。...

    一种增强Linux实时性能的技术.pdf

    一种增强Linux实时性能的技术 Linux操作系统是当今最流行的操作系统之一,其实时性能对于许多实时应用至关重要。然而,Linux操作系统的实时性能存在一定的局限性,本文将讨论影响Linux实时性能的原因,并提出一种...

    Linux下EPP-CAN通信的设计及实现.pdf

    在Linux操作系统下,EPP-CAN通信的实现主要包括以下几个步骤: * 安装EPP-CAN转换卡驱动程序 * 配置EPP-CAN转换卡参数 * 实现CAN总线的数据传输和管理 本文提供了一种Linux下EPP-CAN通信的设计和实现方法,为使用...

    Linux OS环境下LabVIEW开发研究.pdf

    Linux OS环境下LabVIEW开发研究 Linux 操作系统是当前最流行的开源操作系统之一,具有高度的可靠性、安全性和灵活性。LabVIEW 是一种基于图形化流程图编程的软件,广泛应用于虚拟仪器、自动控制、数据采集和分析等...

    Linux内核中的信号机制??信号发送

     第一个参数为目标进程id,kill()可以向进程(或进程组),线程(轻权线程)发送信号,因此pid有以下几种情况:  ● pid>0:目标进程(可能是轻权进程)由pid指定。  ● pid=0:信号被发送到当前进程组中的...

    Linux下文件格式模糊测试的实现.pdf

    在Linux系统下实现文件格式模糊测试需要经历构建异常元素、生成测试用例、确定需要监视的系统信号、利用调试器监视子进程的运行并捕捉触发漏洞的系统信号、记录异常信息等几个步骤。 首先,需要构建异常元素,这些...

    嵌入式Linux应用程序开发标准教程(第2版全)

    4.1.5 几种主流嵌入式操作系统分析 4.2 ARM处理器硬件开发平台 4.2.1 ARM处理器简介 4.2.2 ARM体系结构简介 4.2.3 ARM9体系结构 4.2.4 S3C2410处理器详解 4.3 嵌入式软件开发流程 4.3.1 嵌入式系统开发概述 4.3.2 ...

    Linux下实现定时器Timer的几种方法总结

    定时器Timer应用场景非常广泛,在Linux下,有以下几种方法: 1,使用sleep()和usleep() 其中sleep精度是1秒,usleep精度是1微妙,具体代码就不写了。使用这种方法缺点比较明显,在Linux系统中,sleep类函数不能保证...

    Linux环境进程间通信

    概述了 linux 进程间通信的几种主要手段。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无...

    Linux下挂载虚拟光盘及搭建FTP服务

    最后,在 Linux 下搭建 FTP 服务需要注意的几个问题: * 客户端连接时可能遇到的问题,例如服务端 ftp 服务器没有启动、vsftpd 同时开启了 standalone 和 inetd 两种运行模式等。 * 选择合适的 FTP 服务器软件,...

    基于linux系统的字符设备驱动研究与设计.pdf

    为了解决并发控制问题,本文提出了几种解决方案,包括使用锁机制、信号量机制和消息队列机制等。 本文提供了一个完整的字符设备驱动设计和实现方案,包括设备驱动模块的设计、设备操作接口的设计和字符设备驱动程序...

    详解linux下避免僵尸进程的几种方法

    linux下我们可以调用fork函数创建子进程,创建的子进程将会得到父进程的数据空间、堆、栈……副本(采用写时复制机制),子进程将会继承父进程的信号掩码、信号处理方式、当前工作目录、会话id、组id……。当子进程...

    Linux进程调度程序剖析.pdf

    2. 进程的调度:Linux 通过调度器来选择下一个要运行的进程,并将其加入到运行队列中。 3. 进程的优先级:Linux 通过静态优先级和动态优先级来确定进程的优先级。 4. 进程的同步:Linux 通过信号量和互斥锁来实现...

Global site tag (gtag.js) - Google Analytics