Linux信号-进程退出状态码

当进程因收到信号被终止执行退出后,父进程可以通过wait或waitpid得到它的exit code。

进程被各信号终止的退出状态码总结如下:

信号编号

信号名称

信号描述

默认处理方式

Exit code

1

SIGHUP

挂起

终止

1

2

SIGINT

终端中断

终止

2

3

SIGQUIT

终端退出

终止、coredump

131

4

SIGILL

非法指令

终止、coredump

132

5

SIGTRAP

跟踪/断点陷进

终止、coredump

133

6

SIGABRT

终止进程

终止、coredump

134

7

SIGBUS

Bus error

终止、coredump

135

8

SIGFPE

算术异常

终止、coredump

136

9

SIGKILL

杀死进程(必杀)

终止

9

10

SIGUSR1

用户自定义信号1

终止

10

11

SIGSEGV

段错误

终止、coredump

139

12

SIGUSR2

用户自定义信号2

终止

12

13

SIGPIPE

管道断开

终止

13

14

SIGALRM

定时器信号

终止

14

15

SGITERM

终止进程

终止

15

16

SIGSTKFLT

栈错误

终止

16

17

SIGCHLD

子进程退出

忽略

18

SIGCONT

继续执行

若停止则继续执行

19

SIGSTOP

停止执行(必停)

暂停执行

20

SIGTSTP

停止

暂停执行

21

SIGTTIN

Stopped(tty input)

暂停执行

22

SIGTOUT

Stopped(tty output)

暂停执行

23

SIGURG

io紧急数据

忽略

24

SIGXCPU

突破对CPU的时间限制

终止、coredump

152

25

SIGXFSZ

突破对文件大小的限制

终止、coredump

153

26

SIGVTALRM

虚拟定时器超时

终止

26

27

SIGPROF

性能分析定时器超时

终止

27

28

SIGWINCH

终端窗口尺寸发生变化

忽略

29

SIGIO

io时可能产生

终止

29

30

SIGPWR

电量即将耗尽

终止

30

31

SIGSYS

错误的系统调用

终止、coredump

159

34~64

SIGRTMIN~

SIGRTMAX

实时信号

终止

34~64

总结

  • 能使进程被终止并产生coredump的信号,进程退出状态码为:信号编号 + 128。如:SIGQUIT信号,它的编码为3,则进程的退出状态码为:131(3 + 128)。

  • 只能使进程终止而不会产生coredump的信号,进程的退出状态码为信号编号本身。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值