1、SIGALRM信号
alarm函数实现了定时发送SIGALRM信号的功能。(每一个进程都有一个唯一的计时器)
unsigned int alarm(unsigned int seconds)
参数seconds:设定定时时间,超过这个时间时发送SIGALRM信号
返回值:返回定时器剩余描述
结合一个示例:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<assert.h>
#include<unistd.h>
#include<signal.h>
static int n=0;
void func(int sig)
{
n=1;
}
int main()
{
signal(SIGALRM,func);
alarm(5);//调用函数,5秒后发送SIGALRM信号
pause();//挂起进程直到接收到信号
if(n)
{
printf("hava a signal %d\n",SIGALRM);
}
exit(0);
}
2、SIGCLD信号(SIGCHID)
当一个子进程退出时,并非马上释放其占用的资源,而是通知其父进程,由父进程进行收尾的工作。在这一过程中,系统将依次产生下列事件。
1)子进程向父进程发送SIGCLD信号,子进程进入僵尸状态。
2)父