unix信号介绍

34种常见信号及其默认操作

名字说明缺省动作
S I G A B R T异常终止(abort)终止w/core
S I G A L R M超时(alarm)终止
S I G B U S硬件故障终止w/core
S I G C H L D子进程状态改变忽略
S I G C O N T使暂停进程继续执行继续/忽略
S I G E M T硬件故障终止w/core
S I G F P E算数异常终止为/core
S I G H U P连接断开终止
S I G I L L非法硬件指令终止w/core
S I G I N F O键盘状态请求忽略
S I G I N T终端中断符终止
S I G I O异步I/O终止/忽略
S I G I O T硬件故障终止w/core
S I G K I L L终止终止
S I G P I P E写至无读进程的管道终止
S I G P O L L写轮循事件(poll)终止
S I G P R O F梗概时间超时(setitimer)终止
S I G P W R电源失效/再启动忽略
S I G Q U I T终端退出符终止w/core
S I G S E G V无效存储访问终止w/core
S I G S T O P停止暂停进程
S I G S Y S无效系统调用终止w/core
S I G T E R M终止终止
S I G T R A P硬件故障终止w/core
S I G T S T P终端挂起符停止进程
S I G T T I N后台从控制tty读停止进程
S I G T T O U后台向控制tty写停止进程
S I G U R G紧急情况忽略
S I G V T A L R M虚拟时间闹钟终止
S I G X C P U超cpu限制终止w/core
S I G X F S Z超过文件长度限制终止为/core


     在系统默认动作列,“终止w / c o r e”表示在进程当前工作目录的 c o r e文件中复制了该进程的
存储图像(该文件名为 c o r e,由此可以看出这种功能很久之前就是 U N I X功能的一部分)。大多
数U N I X调试程序都使用 c o r e文件以检查进程在终止时的状态。在下列条件下不产生 c o r e文件:
( a )进程是设置 -用户- I D,而且当前用户并非程序文件的所有者,或者 ( b )进程是设置 -组- I D,而
且当前用户并非该程序文件的组所有者,或者 ( c )用户没有写当前工作目录的许可权,或者 ( d )
文件太大 (回忆7 . 11节中的R L I M I T _ C O R E )。c o r e文件的许可权 (假定该文件在此之前并不存在 )
通常是用户读/写,组读和其他读。

下面比较详细地说明部分信号:

  • SIGCHLD 在一个进程终止或停止时,S I G C H L D信号被送给其父进程。按系统默认,将
    忽略此信号。如果父进程希望了解其子进程的这种状态改变,则应捕捉此信号。信号捕捉函数
    中通常要调用w a i t函数以取得子进程 I D和其终止状态。
  • SIGCONT 此作业控制信号送给需要继续运行的处于停止状态的进程。如果接收到此信
    号的进程处于停止状态,则系统默认动作是使该进程继续运行,否则默认动作是忽略此信号。
    例如,v i编辑程序在捕捉到此信号后,重新绘制终端屏幕
  • SIGFPE 此信号表示一个算术运算异常,例如除以 0,浮点溢出等。
  • SIGSTOP 这是一个作业控制信号,它停止一个进程。它类似于交互停止信号( S I G T S T P ),
    但是S I G S TO P不能被捕捉或忽略。
  • 交互停止信号,当用户在终端上按挂起键 (一般采用 C t r l - Z)时,终端驱动
    程序产生此信号。
  • SIGTTIN 当一个后台进程组进程试图读其控制终端时,终端驱动程序产生此信号。在下列例外情形下不产生此信号,此时读操作返回出错, e r r n o设置为E I O:( a )读进程忽略或阻塞此信号,或 ( b )读进程所属的进程组是孤儿进程组。
  • SIGTTOU 当一个后台进程组进程试图写其控制终端时产生此信号。与上面所述的 S I G T T I N信号不同,一个进程可以选择为允许后台进程写控制终端。第11章将讨论如何更改此选择项。
  • SIGURG 此信号通知进程已经发生一个紧急情况。在网络连接上,接到非规定波特率的
    数据时,此信号可选择地产生。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值