信号相关部分函数
信号发送函数
kill
向指定进程发送信号。1
2
int kill(pid_t pid, int sig);
pid:目标进程ID。pid > 0 发送给指定进程;pid == 0 发送给同一进程组的所有进程;pid == -1 发送给有权限的所有进程;pid < -1 发送给进程组ID为 -pid 的所有进程。
sig:要发送的信号。
返回值:成功返回0,失败返回-1并设置 errno。
raise
向当前进程发送信号。
1 |
|
sig:要发送的信号。
返回值:成功返回0,失败返回非0。
abort
使当前进程异常终止。
1 |
|
无返回值
定时器函数
alarm
设置一个定时器,在指定时间后发送 SIGALRM 信号。
1 |
|
seconds:定时器时间(秒)。
返回值:返回之前定时器的剩余时间。
self timer
设置和管理定时器。
1 |
|
which:定时器类型(ITIMER_REAL, ITIMER_VIRTUAL, ITIMER_PROF)。
new_value:新定时器值。
old_value:旧定时器值。
返回值:成功返回0,失败返回-1。
信号处理函数
signal
设置信号处理函数。1
2
void (*signal(int sig, void (*func)(int)))(int);
sig:信号编号。
func:信号处理函数。
返回值:返回之前的信号处理函数。
sigaction
设置信号处理行为。
1 |
|
sig:信号编号。
act:新信号处理行为。
oldact:旧信号处理行为。
返回值:成功返回0,失败返回-1。
信号集操作函数
操作信号集。
信号集(Signal Set)是一个用于表示一组信号的数据结构,通常用于在进程中对多个信号进行批量操作。
1 |
|
set:信号集。
signo:信号编号。
返回值:sigemptyset, sigfillset, sigaddset, sigdelset 成功返回0,失败返回-1;sigismember 返回1(是成员)或0(不是成员)。
sigprocmask
设置或修改进程的信号屏蔽字。
1 |
|
how:操作类型(SIG_BLOCK, SIG_UNBLOCK, SIG_SETMASK)。
set:新信号集。
oldset:旧信号集。
返回值:成功返回0,失败返回-1。