← 返回首页
Linux高级程序设计(三十九)
发表时间:2021-11-22 22:43:42
raise函数

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()