信号
程序在执行的时候,几乎任何时刻都会反生事件。
信号通常用来向一个进程通知事件。
信号是不可提前预知的,所以信号是异步的。
信号随时都可能发生,接收信号的进程也可以没有控制权。
每个信号名都以SIG开头,信号名的定义在<signal.h>中。
信号名一般都是宏,内部通常是一个正整数。
信号(signal)是一种软件中断,它提供了一种处理异步事件的方法,也是进程间惟一的异步通信方式。
通过命令 kill -l 可以查看到64个信号
而这些信号各自在什么条件下产生,默认的处理动作是什么,
在signal(7)中都有详细说明
man 7 signal
信号的值定义在signal.h中,在Linux中没有32和33这两个信号。
其中编号34以上的是实时信号,34以下的信号是普通信号。
可靠信号又称为实时信号
非可靠信号又称为非实时信号
在Linux系统中,信号的可靠性是指信号是否会丢失,或者说该信号是否支持排除。
SIGHUP( 1 ) ~ SIGSYS( 31 )之间的信号都是继承自UNIX系统是不可靠信号。
Linux系统根据POSIX标准定义了SIGRTMIN(34) ~ SIGRTMAX(64)之间的信号,它们都是可靠信号,也称为实时信号。
引发信号的情况
1.键盘事件 ctrl +c ctrl +
Linux下的信号处理
最新推荐文章于 2024-03-07 12:07:04 发布