图片来源:https://www.pixiv.net/artworks/65838500 term 表示信号终止进程,core 表示进程产生核心转储文件并退出,ignore 表示忽略该信号,stop 表示信号停止了进程,cont 表示信号恢复了一个已停止的进程 信号 信号值(x86) 默认行为 描述 触发场景 SIGABRT / SIGIOT 6 core 进程终止信号 进程调用 abort()函数时,系统向进程发送该信号 SIGALRM 14 term 实时定时器过期 调用 alarm()或 setitimer()而设置的实时定时器到期,内核将产生该信号 SIGBUS 7(不可移植) core 内存访问错误 使用由 mmap()所创建的内存映射时,如果试图访问的地址超出了底层内存映射文件的结尾,那么将产生该错误 SIGCHLD 17(不可移植) ignore 子进程终止、暂停、继续 子进程终止、子进程因收到信号而停止或恢复时向父进程发送该信号 SIGCONT 18(不可移植) cont 如果被暂停,重新继续执行 将该信号发送给已停止的进程,进程将会恢复运行。当接收信号的进程当前不处于停止状态时,默认情况下将忽略该信号 SIGEMT 未定义 term 硬件错误 UNIX 系统通常用该信号来标识一个依赖于实现的硬件错误。Linux 系统仅在 Sun SPARC 实现中使用了该信号 SIGFPE 8 core 算术异常 在 x86-32 架构中,整数除以 0 总是产生 SIGFPE 信号,但是对浮点数除以 0 的处理则取决于是否启用了 FE_DIVBYZERO 异常。如果启用了该异常(使用feenableexcept()),那么浮点数除以 0 也将产生 SIGFPE 信号,否则,将为操作数产生符合 IEEE 标准的结果(无穷大的浮点表示形式)。 SIGHUP 1 term 挂起 检测到控制终端挂起或者控制进程死亡时,进程会收到 SIGHUP。许多守护进程会在收到 SIGHUP 信号时重新进行初始化并重读配置文件。nohup 命令用于无视该信号 SIGILL 4 core 非法的指令 如果进程试图执行非法(即格式不正确)的机器语言指令,系统将向进程发送该信号 SIGINT 2 term 终端中断信号 当用户键入终端中断字符(通常为 Ctrl-C)时,终端驱动程序将发送该信号给前台进程组 SIGKILL 9 term 杀死 此信号为“必杀(sure kill)”信号,处理器程序无法将其阻塞、忽略或者捕获,故而“一击必杀”,总能终止进程 SIGIO / SIGPOLL 29(不可移植) term I/O 时可能产生 利用 fcntl()系统调用,即可于特定类型(诸如终端和套接字)的打开文件描述符发生 I/O 事件时产生该信号 SIGPIPE 13 term 管道断开 当某一进程试图向管道、FIFO 或套接字写入信息时,如果这些设备并无相应的阅读进程,那么系统将产生该信号 SIGPROF 27(不可移植) term […]
signal
1 post