unix信号一览表

信号默认操作

Term    表示进程会立即结束

Core    表示进程会立即结束并进行核心转储(栈跟踪)

lgn    表示进程会忽略该信号

Stop    表示进程会暂停

Cont    表示进程会回复运行

信号 动作 注释
SIGHUP 1  Term  由控制终端或控制进程终止时发出
SIGINT 2  Term  来自键盘的中断信号(通常是Ctrl-C)
SIGQUIT 3  Core 来自键盘的退出信号(通常是Ctrl-/)
SIGILL  4  Core  非法指令
SIGABRT  6  Core  来自abort的终止信号
SIGFPE  8  Core  浮点数异常
SIGKILL  9  Term  kill信号
SIGSEGV  11  Core 非法内存地址引用
SIGPIPE  13  Term  管道损坏(broken pipe):向没有读取进程的管道写入信息
SIGALRM  14  Term  来自alarm的计时器到时信号
SIGTERM  15  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  后台进程的终端输出
时间: 2024-08-01 12:38:43

unix信号一览表的相关文章

用Python处理Unix信号

UNIX / Linux系统提供了在每个单独进程之间进行通信的特殊机制.这些机制之一是信号,属于进程之间的不同通信方法(进程间通信,缩写为IPC). 简而言之,信号是软件中断,它被发送到程序(或进程),将重要事件或请求通知程序,以便运行特殊的代码序列.接收到信号的程序要么停止或继续执行其指令,要么在有或没有内存转储的情况下终止,甚至干脆忽略该信号. 虽然在POSIX标准中定义了它,但是实际的情况取决于开发人员如何编写脚本和实现信号处理. 在本文中,我们将解释什么是信号,向您展示如何从命令行向另一

UNIX信号

UNIX编程第10章 信号是软件中断.很多比较重要的应用程序都需处理信号.信号提供了一种处理异步事件的方法,例如,终端用户键入中断键,会通过信号机制停止一个程序,或及早终止管道中的下一个程序. 每个信号都有一个名字,这些名字都以SIG开头,例如SIGABRT是夭折信号,当进程调用abort函数时产生这种信号.SIGALARM是闹钟信号,由alarm函数设置的定时器超时后将产生此信号.在头文件<signal.h>中,信号名都被定义为正整数常量(信号编号). 不存在编号为0的信号,空信号. 很多条

浅析 Linux/UNIX 信号机制

附件:linux man手册关于signal的介绍 信号常常被称为“软中断”,和“中断”类似,用来通知程序发生异步事件.对信号的处理一般来说有三种方式:忽略,终止进程以及使用信号处理函数.信号处理函数的方式是从一处执行流断开,转而去运行另外的一处代码(信号处理),当处理函数返回时,继续从断开的地方继续执行. 1.安装信号处理函数 在系统编程的层面上与信号的处理关系最直接相关的函数有两个,他们用来安装信号处理函数: sighandler_t signal(int signum, sighandle

Unix环境高级编程(十)信号续

1.signal函数 Unix系统的信号机制最简单的接口是signal函数,函数原型如下: #include <signal.h> typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); signum表示信号名称,handler取值常量SIG_IGN(忽略此信号).常量SIG_DFL(执行默认动作)或者接到此信号后要调用的函数的地址(调用信号处理程序). 写个程序练习一下

Linux之信号

产生信号五种方法: 按键产生:ctrl+c.ctrl+z.ctrl+\ 系统调用产生:如kill.raise.baort 软件条件产生:如定时器alarm 硬件异常产生:非法访问内存(段错误).除0(浮点数例外).内存对齐错误(总线错误) 命令产生:如kill命令 信号四要素: 编号.名称.事件.默认处理动作 信号的处理方式: 执行默认动作: 忽略(丢弃): 捕捉(调用用户处理函数) Linux内核的进程控制块PCB是一个结构体,task_struct除了包含进程id,状态,工作目录,用户id,

UNIX网络编程卷1 回射服务器程序 TCP服务器程序设计范式 四个版本

本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 这是一个简单的回射服务器程序.它将客户发送的数据读入缓冲区并回射其中内容 下面我会介绍同一个使用 TCP 协议的回射服务器程序的几个不同版本,分别是 fork 版本.select 版本.poll 版本.多线程版本 fork 版本:为每一个客户连接派生(fork) 一个子进程用来处理客户请求 /** * TCP/IPv4 协议相关 * **/ #include "unp.h" in

linux可重入、异步信号安全和线程安全

一 可重入函数 当一个被捕获的信号被一个进程处理时,进程执行的普通的指令序列会被一个信号处理器暂时地中断.它首先执行该信号处理程序中的指令.如果从信号处理程序返回(例如没有调用exit或longjmp),则继续执行在捕获到信号时进程正在执行的正常指令序列(这和当一个硬件中断发生是所发生的事情相似.)但是在信号处理器里,我们并不知道当信号被捕获时进程正在执行哪里的代码. 如果进程正使用malloc在它的堆上分配额外的内存,而此时由于捕捉到信号而插入执行该信号处理程序,其中又调用了malloc,这会

UNIX网络编程笔记(4)—TCP客户/服务器程序示例

TCP客户/服务器程序示例 这一章信息量开始大起来了,粗略来看它实现了简单的TCP客户/服务器程序,里面也有一些费解的细节. 1.概述 完整的TCP客户/服务器程序示例.这个简单的例子将执行如下步骤的一个回射服务器(这里的回射服务器就是服务简单的把客户端发送的消息返回给客户): 1)客户从标准输入读入一行文本,并写给服务器 2)服务器从网络输入读入这行文本,并回射给客户 3)客户从网络输入读入这行回射文本,并显示在标准输出上 这样实际上就构成了一个全双工的TCP连接. 本章就围绕了这个简单的TC

第9章 进程和信号(一)

本文目录: 9.1 进程的简单说明 9.11 进程和程序的区别 9.12 多任务和cpu时间片 9.13 父子进程及创建进程的方式 9.14 进程的状态 9.15 举例分析进程状态转换过程 9.16 进程结构和子shell 9.2 job任务 9.3 终端和进程的关系 9.4 信号 9.41 需知道的信号 9.42 SIGHUP 9.43 僵尸进程和SIGCHLD 9.44 手动发送信号(kill命令) 9.45 pkill和killall 9.5 fuser和lsof 9.1 进程简单说明 进