raise函数给调用进程本身发送一个信号。
1.raise函数
#include <unistd.h>
#include <signal.h>
int raise(int sig)
raise函数给自己发送信号,raise(sig)等价于kill(getpid(),sig)。
实例:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
int main(int argc, char *argv[])
{
int num = 0;
while (1)
{
printf("this is main()\n");
sleep(1);
num++;
if(num==5){
raise(SIGINT);
//raise(SIGALRM);
//kill(getpid(),SIGKILL);
}
}
return 0;
}
运行结果:
[root@iz2zefozq9h39txdb8s7npz shelldemo]# ./a.out
this is main()
this is main()
this is main()
this is main()
this is main()