Linux 操作系统 019-常用信号

Linux 操作系统 019-常用信号

本节关键字:Linux、centos、常用信号
本节相关指令:uname、kill、signal

Linux中都有哪些信号

信号在Linux操作系统中是很重要的,信号的产生方式可以是来自键盘、由软件条件产生、调用硬件异常产生。来自系统函数调用产生、在Linux中一共有64种信号 ,Linux用户可以通过 kill -l 查看,如下:

[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# kill -l
 1) SIGHUP     2) SIGINT     3) SIGQUIT     4) SIGILL     5) SIGTRAP
 6) SIGABRT     7) SIGBUS     8) SIGFPE     9) SIGKILL    10) SIGUSR1
11) SIGSEGV    12) SIGUSR2    13) SIGPIPE    14) SIGALRM    15) SIGTERM
16) SIGSTKFLT    17) SIGCHLD    18) SIGCONT    19) SIGSTOP    20) SIGTSTP
21) SIGTTIN    22) SIGTTOU    23) SIGURG    24) SIGXCPU    25) SIGXFSZ
26) SIGVTALRM    27) SIGPROF    28) SIGWINCH    29) SIGIO    30) SIGPWR
31) SIGSYS    34) SIGRTMIN    35) SIGRTMIN+1    36) SIGRTMIN+2    37) SIGRTMIN+3
38) SIGRTMIN+4    39) SIGRTMIN+5    40) SIGRTMIN+6    41) SIGRTMIN+7    42) SIGRTMIN+8
43) SIGRTMIN+9    44) SIGRTMIN+10    45) SIGRTMIN+11    46) SIGRTMIN+12    47) SIGRTMIN+13
48) SIGRTMIN+14    49) SIGRTMIN+15    50) SIGRTMAX-14    51) SIGRTMAX-13    52) SIGRTMAX-12
53) SIGRTMAX-11    54) SIGRTMAX-10    55) SIGRTMAX-9    56) SIGRTMAX-8    57) SIGRTMAX-7
58) SIGRTMAX-6    59) SIGRTMAX-5    60) SIGRTMAX-4    61) SIGRTMAX-3    62) SIGRTMAX-2
63) SIGRTMAX-1    64) SIGRTMAX    
[root@localhost ~]# 
  • 前32种称为不可靠信号,一般用于软件,不支持排队;
  • 后32种称为可靠信号,一般用于硬件,支持排队。

常用信号一览表

信号值 信号宏 说明
1 SIGHUP 进程立即关闭,终端连接(正常或非正常)结束时发出
2 SIGINT 程序中止信号,用于中止前台程序,输出 Ctrl+C 快捷键
3 SIGQUIT 程序退出信号,输出 Ctrl+\ 快捷键
6 SIGABRT 终止进程并产生core文件,调用abort函数时产生
7 SIGBUS 终止进程并产生core文件,硬件故障,进程访问非法地址
8 SIGFPE 发生致命的算术运算错误时发出,不仅包括浮点运算错误,还包括溢出及除数为 0 等其他所有的算术运算错误
9 SIGKILL 无条件立即结束程序的运行。本信号不能被阻塞、处理和忽略。般用于强制中止进程
10 SIGUSR1 用户自定义信号,一般被用来告知应用程序重载配置文件
11 SIGSEGV 终止进程并产生core文件,硬件故障,进程访问非法地址
12 SIGUSR2 用户自定义信号,作用和意义由用户自己定义
13 SIGPIPE 终止收到该信号的进程,涉及管道和socket通信。socket通信时,对端异常终止,我端写套接字时收到该信号
14 SIGALRM 时钟定时信号,计算的是实际的时间或时钟时间。alarm 函数使用该信号
15 SIGTERM 正常结束进程的信号,kill 命令的默认信号。如果进程已经发生了问题,那么这 个信号是无法正常中止进程的,这时我们才会尝试 SIGKILL 信号,也就是信号 9
17 SIGCHLD 子进程退出信号,如果父进程没有忽略该信号也没有处理该信号,则子进程退出后将形成僵尸进程。
18 SIGCONT 让暂停的进程恢复执行。本信号不能被阻断
19 SIGSTOP 暂停前台进程,相当于输入 Ctrl+Z 快捷键。本信号不能被阻断

补充说明:

  • Term 表示终止进程
  • Core 表示终止进程并 dump core
  • Stop 挂起线程
  • Cont 恢复挂起的线程

你可能感兴趣的:(Linux,操作系统,linux,运维,服务器,centos,bash)