信号是一种进程间通信(IPC)机制,主要用于处理异步事件。
| 术语 | 解释 |
|---|---|
| 生成信号 | 发生了一个需要引起进程注意的事件而导致信号出现时。也叫发送信号 |
| 信号交付 | 被发送信号的那个进程识别到了信号并采取了适当动作。也叫接收信号 |
| 信号句柄 | 当信号出现时调用进行专门处理的函数。这个函数称为捕获函数或信号句柄 |
| 信号捕获 | 若信号交付时进程执行信号句柄,称进程捕获了信号 |
| 悬挂信号 | 当一个信号已经生成,但还未交付时,称该信号是悬挂的 |
Linux支持62个信号。可以通过在终端输入kill -l或man 7 signal来查看。
信号的宏定义和编号都定义在signal.h中。
信号的产生方式多种多样,主要有3种:
| 组合键 | 信号 |
|---|---|
| Ctrl+C | SIGINT |
| Ctrl+\ | SIGQUIT |
| Ctrl+Z | SIGSTOP |
kill -信号编号 进程号 #比如 kill -15 4264 kill -信号的宏定义 进城号 #比如 kill -SIGTERM 4264 主要有3种: