用命令查看Linux支持的信号列表

我们运行如下命令,可看到Linux支持的信号列表:

$ kill -l1) SIGHUP        2) SIGINT        3) SIGQUIT       4) SIGILL 5) SIGTRAP       6) SIGABRT       7) SIGBUS        8) SIGFPE 9) SIGKILL      10) SIGUSR1      11) SIGSEGV      12) SIGUSR213) SIGPIPE      14) SIGALRM      15) SIGTERM      17) SIGCHLD18) SIGCONT      19) SIGSTOP      20) SIGTSTP      21) SIGTTIN22) SIGTTOU      23) SIGURG       24) SIGXCPU      25) SIGXFSZ26) SIGVTALRM    27) SIGPROF      28) SIGWINCH     29) SIGIO30) SIGPWR       31) SIGSYS       34) SIGRTMIN     35) SIGRTMIN+136) SIGRTMIN+2   37) SIGRTMIN+3   38) SIGRTMIN+4   39) SIGRTMIN+540) SIGRTMIN+6   41) SIGRTMIN+7   42) SIGRTMIN+8   43) SIGRTMIN+944) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+1348) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-1352) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-956) SIGRTMAX-8   57) SIGRTMAX-7   58) SIGRTMAX-6   59) SIGRTMAX-560) SIGRTMAX-4   61) SIGRTMAX-3   62) SIGRTMAX-2   63) SIGRTMAX-164) SIGRTMAX

列表中,编号为1 ~ 31的信号为传统UNIX支持的信号,是不可靠信号(非实时的),编号为32 ~ 63的信号是后来扩充的,称做可靠信号(实时信号)。不可靠信号和可靠信号的区别在于前者不支持排队,可能会造成信号丢失,而后者不会。

下面我们对编号小于SIGRTMIN的信号进行讨论。

1) SIGHUP

本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。

登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都属于这个Session。当用户退出Linux登录时,前台进程组和后台有对终端输出的进程将会收到SIGHUP信号。这个信号的默认操作为终止进程,因此前台进程组和后台有终端输出的进程就会中止。不过可以捕获这个信号,比如wget能捕获SIGHUP信号,并忽略它,这样就算退出了Linux登录,wget也能继续下载。

此外,对于与终端脱离关系的守护进程,这个信号用于通知它重新读取配置文件。

2) SIGINT

程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。

3) SIGQUIT

和SIGINT类似, 但由QUIT字符(通常是Ctrl-\)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。

4) SIGILL

执行了非法指令. 通常是因为可执行文件本身出现错误, 或者试图执行数据段. 堆栈溢出时也有可能产生这个信号。

5) SIGTRAP

由断点指令或其它trap指令产生. 由debugger使用。

6) SIGABRT

调用abort函数生成的信号。

7) SIGBUS

非法地址, 包括内存地址对齐(alignment)出错。比如访问一个四个字长的整数, 但其地址不是4的倍数。它与SIGSEGV的区别在于后者是由于对合法存储地址的非法访问触发的(如访问不属于自己存储空间或只读存储空间)。

8) SIGFPE

在发生致命的算术运算错误时发出. 不仅包括浮点运算错误, 还包括溢出及除数为0等其它所有的算术的错误。

9) SIGKILL

用来立即结束程序的运行. 本信号不能被阻塞、处理和忽略。如果管理员发现某个进程终止不了,可尝试发送这个信号。

时间: 2024-10-03 13:30:36

用命令查看Linux支持的信号列表的相关文章

linux中利用dmidecode命令查看Linux服务器硬件信息

对于大部分普通服务器用户来说,我们选择VPS.服务器产品的时候比较关心的是产品的费用.服务器的速度以及稳定性,更有就是服务商家的服务(尤其不能跑路).随着我们使用服务器时间的推移,以及会看到各个不同的商家产品的时候,就会需要有所对比,严谨的用户会更为的关注产品的硬件配置信息.   因为在主机行业中,配置的差距关乎到产品的成本和费用,至少我们要弄明白不能被人忽悠.这不刚才一篇关于RAKsmart服务器评测文章的时候有接触到使用dmidecode命令查看服务器主板.硬盘等硬件信息.所以在这篇文章中,

linux中利用vmstat和iostat命令查看linux的性能

vmstat和iostat是linux重要的两个的性能监控工具. vmstat - 内存,进程和分页等的简要信息 procs r 表示多少进程正在等待cpu b 表示多少进程正在不可中断地休眠(通常意味正在等待I/O如磁盘.网络.用户输入等) memory swpd 多少块被换出到磁盘 free 多少块是空闲的 buff 多少块正在被用作缓冲 cache 多少块正在被用作操作系统的缓存 swap(页面交换活动) si 多少块正在从磁盘换入 so 多少块正在换出到磁盘 io bi 多少块从块磁盘设

Linux信号列表详解

  软件们运行如下命CPU看到Linux支持的信号列表: '$ 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 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGT

jps,jstat,jinfo,jmap,jhat,jstack工具的使用/查看Linux磁盘信息

1.查看磁盘还剩多少空间,使用df命令(查看Linux版本:lsb_release -a,uname -a) 2.当前文件夹下的磁盘使用情况:(du --max-depth=1 -h后面没有显示跟路径,它默认是当前的路径.) 3.查看其中某一文件(文件夹)的大小:这里的大小是该文件夹下的大小的总和 4.查看指定目录下的文件大小 -------------------------------------------------------------------------------------

通过Linux命令查看系统平均负载的方法

  这篇文章主要介绍了通过Linux命令查看系统平均负载的方法,对于服务器管理员来说非常有用,需要的朋友可以参考下 1.Linux系统的平均负载的概念 有时候我们会觉得系统响应很慢,但是又找不到原因,这时就要查看平均负载了,看它是否有大量的进程在排队等待.特定时间间隔内运行队列中的平均进程数可以反映系统的繁忙程度,所以我们通常会在自己的网站或系统变慢时第一时间查系统的负载,即CPU的平均负载. 2.查看平均负载 究竟应该如何查看平均负载呢?最简单的命令是uptime,如下所示: 代码如下: [r

Linux Pmap 命令 - 查看进程用了多少内存

Pmap 提供了进程的内存映射,pmap命令用于显示一个或多个进程的内存状态.其报告进程的地址空间和内存状态信息.Pmap实际上是一个Sun OS上的命令,linux仅支持其有限的功能.但是它还是对查看完整的进程地址空间很有帮助.我们需要PID或者运行的进程的唯一进程ID来查看进程内存状态,我们可以通过/proc或者常规命令比如top或ps得到它. 语法或用法 #pmap PID 或者 #pmap [options] PID 在输出中它显示全部的地址,kbytes,mode还有mapping.

Linux netstat命令查看并发连接数的方法_Linux

介绍 并发连接数是指防火墙或代理服务器对其业务信息流的处理能力,是防火墙能够同时处理的点对点连接的最大数目,它反映出防火墙设备对多个连接的访问控制能力和连接状态跟踪能力,这个参数的大小直接影响到防火墙所能支持的最大信息点数. 实现方法 使用以下命令即可分组查看各种连接状态哦: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 解释: 返回结果示例: LAST_ACK 5 (正在等待处理的请求数) SYN_RE

Linux用户和组管理,查看软件缓存,通过命令查看硬件信息(cpu,版本,序列号,内存,主板,内核等)

 通过修改/etc/inittab.通过这个文件修改系统的启动方式. ls –l /etc/ | more   (管道),将前面的结果交给后面的命令进行处理. 在linux中遇到问题使用man命令. 查找文件信息并将文件存储到一个制定的文件中. ls –la > "a.txt" 创建组名: 创建组: 查看Linux中所有组的信息:cat /etc/group | more 其中root:x:0 root:表示组名,x:表示加密后的权限声明,0:表示root组的id号. 7创建

查看linux版本命令汇总

一. 查看内核版本命令        cat /proc/version 或 uname -a 或 uname -r 二.查看linux版本      lsb_release -a      cat /etc/issue     cat /etc/redhat-release 或者rpm -q redhat-release (只适合redhat)