跳至主要內容

Linux操作-linux信号

HFwasshellshell约 511 字大约 2 分钟

Linux操作-linux信号

linux信号

在linux当中可以使用kill -l 查看所有的信号

截图如下:

image-20220404163515513
image-20220404163515513

信号的解释如下表:

取值名称解释默认动作
1SIGHUP挂起
2SIGINT中断
3SIGQUIT退出
4SIGILL非法指令
5SIGTRAP断点或陷阱指令
6SIGABRTabort发出的信号
7SIGBUS非法内存访问
8SIGFPE浮点异常
9SIGKILLkill信号不能被忽略、处理和阻塞
10SIGUSR1用户信号1
11SIGSEGV无效内存访问
12SIGUSR2用户信号2
13SIGPIPE管道破损,没有读端的管道写数据
14SIGALRMalarm发出的信号
15SIGTERM终止信号
16SIGSTKFLT栈溢出
17SIGCHLD子进程退出默认忽略
18SIGCONT进程继续
19SIGSTOP进程停止不能被忽略、处理和阻塞
20SIGTSTP进程停止
21SIGTTIN进程停止,后台进程从终端读数据时
22SIGTTOU进程停止,后台进程想终端写数据时
23SIGURGI/O有紧急数据到达当前进程默认忽略
24SIGXCPU进程的CPU时间片到期
25SIGXFSZ文件大小的超出上限
26SIGVTALRM虚拟时钟超时
27SIGPROFprofile时钟超时
28SIGWINCH窗口大小改变默认忽略
29SIGIOI/O相关
30SIGPWR关机默认忽略
31SIGSYS系统调用异常
34SIGRTMIN
35SIGRTMIN+1
36SIGRTMIN+2
37SIGRTMIN+3
38SIGRTMIN+4

信号处理

名称描述
忽略信号不做任何处理,SIGKILL 和 SIGSTOP 这个两个信号
捕获
缺省

示例

查看进程正在监听的信号

  • 查看进程号码,执行ps -ef | grep docker ,查看得到我们新创建的容器ID为cc021a07fb55的进程ID为79478
image-20220404165356000
image-20220404165356000
  • 执行cat /proc/79478/status,可以查看正在运行的进程正在监听的信号
image-20220404165456135
image-20220404165456135
  • 主要关注以下内容:右侧字符是16进制的,需要转换为二进制,借助https://www.sojson.com/hexconvert/16to10.html网站,得到二进制位:1111111111111111111111111111111000111011111110100010100000000000
SigBlk:	fffffffe3bfa2800
SigIgn:	0000000000000000
SigCgt:	fffffffe7fc1feff
  • 分析内容:
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3