信号及信号处理(一): 聊聊Linux系统中所有信号及其含义
来源:互联网 发布:为什么优酷提示没网络 编辑:程序博客网 时间:2024/05/26 15:55
首先,在Linux的shell中输入命令
kill -l
可显示Linux系统支持的全部信号如下。我们看看他们的具体含义:
(1). SIGHUP : 当用户退出Shell时, 由Shell启动的所有进程将收到这个信号,默认动作为终止进程。
(2). SIGINT : 用户按下<Ctrl+C>组合键时,用户终端向正在运行中的由该终端启动的程序发出此信号,默认动作为终止进程。
(3). SIGQUIT : 当用户按下<Ctrl+\>组合键时产生该信号,用户终端向正在运行中的由该终端启动的程序 发出此信号。默认动作为终止进程并产生core文件。
(4). SIGILL : CPU检测到某进程执行了非法指令。默认动作为终止进程并产生core文件。
(5). SIGTRAP : 该信号由断点指令或其他trap指令产生。默认动作为终止进程并产生core文件。
(6). SIGABRT : 调用abort函数时产生该信号。默认动作为终止进程并产生core文件。
(7). SIGBUS : 非法访问内存地址,包括内存地址对齐(alignment)出错,默认动作为终止进程并产生core文件。
(8). SIGFPE : 在发生致命的算术运算错误时发出。不仅包括浮点运算出错,还包括溢出及除数为0等所有的算术错误。默认动作为终止进程并产生core文件。
(9). SIGKILL : 无条件终止进程。本信号不能被忽略、处理和阻塞。默认动作为终止进程。它向系统管理员提供了一种可以杀死任何进程的方法。
(10). SIGUSR1 : 用户定义的信号,即程序员可以在程序中定义并使用该信号。默认动作为终止进程。
(11). SIGSEGV : 指示进程进行了无效的内存访问。默认动作为终止进程并产生core文件。
(12). SIGUSR2 : 这是另外一个用户自定义信号,程序员可以在程序中定义并使用该信号。默认动作为终止进程。
(13). SIGPIPE : Broken pipe: 向一个没有读端的管道写数据。默认动作为终止进程。
(14). SIGALRM : 定时器超时,超时的时间由系统调用alarm设置。默认动作为终止进程。
(15). SIGTERM : 程序结束(terminate)信号,与SIGKILL不同的是,该信号可以被阻塞和处理。通常用来要求程序正常退出。执行Shell命令kill时,缺省产生这个信号。默认动作为终止进程。
(16). SIGCHLD : 子进程结束时,父进程会收到这个信号。默认动作为忽略该信号。
(17). SIGCONT : 让一个暂停的进程继续执行。
(18). SIGSTOP : 停止(stopped)进程的执行。注意它和SIGTERM以及SIGINT的区别 : 该进程还未结束,只是暂停执行。本信号不能被忽略、处理或阻塞。默认动作为暂停进程。
(19). SIGTSTP : 停止进程的运行,但该信号可以被处理和忽略。按下<Ctrl+Z>组合键时发出这个信号。默认动作为暂停进程。
(20). SIGTTIN : 当后台进程要从用户终端读数据时,该终端中所有进程会收到SIGTTIN信号。默认动作为暂停进程。
(21). SIGTTOU : 该信号类似于SIGTTIN,在后台进程要向终端输出数据时产生。默认动作为暂停进程。
(22). SIGURG : 套接字(socket)上有紧急数据时,向当前正在运行的进程发出此信号,报告有紧急数据到达。默认动作为忽略该信号。
(23). SIGXCPU : 进程执行时间超过了分配给该进程的CPU时间,系统产生该信号并发送给该进程。默认动作为终止进程。
(24). SIGXFSZ : 超过文件最大长度的限制。默认动作为终止进程并产生core文件。
(25). SIGVTALRM : 虚拟时钟超时时产生该信号,类似于SIGALRM,但是它只计算该进程占用的CPU时间。默认动作为终止进程。
(26). SIGPROF : 类似于SIGVTALRM,它不仅包括该进程占用的CPU时间还包括执行系统调用的时间。默认动作为终止进程。
(27). SIGWINCH : 窗口大小改变时发出。默认动作为忽略该信号。
(28). SIGIO : 此信号向进程指示发生了一个异步IO时间。默认动作为忽略。
(29). SIGPWR : 关机。默认动作为终止进程。
(30). SIGSYS:无效的系统调用。默认动作为终止进程并产生core文件。
(31). SIGRTMIN ~ (64)SIGRTMAX:Linux的实时信号,它们没有固定的含义(或者说可以由用户自由使用)。注意,Linux线程机制使用了前三个实时信号。所有的实时信号的默认动作都是终止进程。
- 信号及信号处理(一): 聊聊Linux系统中所有信号及其含义
- Linux系统编程--信号及信号处理(一)
- Linux C 信号及信号处理(一)
- linux信号及其含义
- Linux系统编程--信号及信号处理(二)
- linux 各种信号及其含义
- linux 各种信号及其含义
- 信号及信号处理
- 信号及信号处理
- 信号及信号处理
- linux 信号&信号处理
- linux 信号&信号处理
- linux 信号&信号处理
- Linux基础系列-信号及信号处理
- Linux信号及信号处理学习总结
- 【Linux C】信号及信号处理
- Linux中信号处理
- Linux信号捕捉及其处理
- 断点续传 进度条 开 始 暂停 继续的简单按钮实现
- Tor
- 关于Android7.0及以上版本FileUriExposedException的问题
- 深度学习数学基础之线性代数
- 端点
- 信号及信号处理(一): 聊聊Linux系统中所有信号及其含义
- 计算五个数的乘积,运行一次可以计算多次
- jquery遍历同胞问题
- Hystrix系列之组件间的关系
- 那些找工作的日子—前端:
- 进程间通信(四)共享内存
- 踏入C语言的大门
- 运维之mysql篇------3. 数据导入导出 、 表记录基本操作 、 查询及匹配条件 、 多表查询
- 基于ubuntu下stm32开发环境搭建(ubuntu+st-link+libopencm3)