在Linux系统中,信号是用于进程间通信和处理异步事件的一种机制。当某个事件发生时,内核可以向进程发送一个信号,进程可以选择忽略该信号或者采取相应的行动。在本文中,我们将介绍Linux中的信号编程,并提供一些示例代码来说明如何处理信号。
- 信号的基本概念
在Linux中,每个信号都有一个唯一的整数编号,表示不同的事件。例如,SIGINT信号(编号为2)通常由用户按下Ctrl+C触发,用于中断正在运行的程序。信号的编号定义在 <signal.h>
头文件中,可以通过 kill -l
命令查看所有信号的编号和名称。
- 发送信号
可以使用系统调用kill(pid, sig)
向指定的进程发送信号。其中,pid
是进程的ID,sig
是要发送的信号编号。下面是一个示例代码,演示如何向指定进程发送程发送SIGINT信号:
#include <sys/types.h>