程序员应该了解的UNIX常用信号

信号的概念:

首先,每个信号都有一个名字。这些名字都以三个字符 SIG开头

SIGABRT由调用abort函数产生,进程非正常退出

SIGALRM用alarm函数设置的timer超时或setitimer函数设置的interval timer超时

SIGBUS某种特定的硬件异常,通常由内存访问引起

SIGCANCEL由Solaris Thread Library内部使用,通常不会使用

SIGCHLD进程Terminate或Stop的时候,SIGCHLD会发送给它的父进程。缺省情况下Signal会被忽略

SIGCONT当被stop的进程恢复运行的时候,自动发送

SIGEMT和实现相关的硬件异常

SIGFPE数学相关的异常,如被0除,浮点溢出,等等

SIGFREEZESolaris专用,Hiberate或者Suspended时候发送

SIGHUP发送给具有Terminal的Controlling Process,当terminal被disconnect时候发送

SIGILL非法指令异常

SIGINFOBSD signal。由Status Key产生,通常是CTRL+T。发送给所有Foreground Group的进程

SIGINT由Interrupt Key产生,通常是CTRL+C或者DELETE。发送给所有ForeGround Group的进程

SIGIO异步IO事件

SIGIOT实现相关的硬件异常,一般对应SIGABRT

SIGKILL无法处理和忽略。中止某个进程

SIGLWP由Solaris Thread Libray内部使用

SIGPIPE在reader中止之后写Pipe的时候发送

SIGPOLL当某个事件发送给Pollable Device的时候发送

SIGPROFSetitimer指定的Profiling Interval Timer所产生

SIGPWR和系统相关。和UPS相关。

SIGQUIT输入Quit Key的时候(CTRL+\)发送给所有Foreground Group的进程

SIGSEGV非法内存访问

SIGSTKFLTLinux专用,数学协处理器的栈异常

SIGSTOP中止进程。无法处理和忽略。

SIGSYS非法系统调用

SIGTERM请求中止进程,kill命令缺省发送

SIGTHAWSolaris专用,从Suspend恢复时候发送

SIGTRAP实现相关的硬件异常。一般是调试异常

SIGTSTPSuspend Key,一般是Ctrl+Z。发送给所有Foreground Group的进程

SIGTTIN当Background Group的进程尝试读取Terminal的时候发送

SIGTTOU当Background Group的进程尝试写Terminal的时候发送

SIGURG当out-of-band data接收的时候可能发送

SIGUSR1用户自定义signal 1

SIGUSR2用户自定义signal 2

SIGVTALRMsetitimer函数设置的Virtual Interval Timer超时的时候

SIGWAITINGSolaris Thread Library内部实现专用

SIGWINCH当Terminal的窗口大小改变的时候,发送给Foreground Group的所有进程

SIGXCPU当CPU时间限制超时的时候

SIGXFSZ进程超过文件大小限制

SIGXRESSolaris专用,进程超过资源限制的时候发送

转载于:https://my.oschina.net/imecho/blog/776404

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值