进程间通信之信号的安装与发送
- 调用setitimer函数分别触发SIGALRM信号,SIGVTALRM信号,SIGPROF信号 ;(可以由多进程分别触发每个信号)
- 编写信号安装函数,在该函数内部能判断接受到的是什么信号,并把信号打印出来。
#include <stdio.h>
#include <signal.h>
#include <sys/time.h>
void signalHandler(int signo)
{
switch (signo)
{
case SIGALRM: //通过比较判断接受的是什么信号
printf("Caught the SIGALRM signal!\n");
break;
case SIGVTALRM:
printf("Caught the SIGVTALRM signal!\n");
break;
case SIGPROF:
printf("Caught the SIGPROF signal!\n");
break;
}
}
int main(int argc, char *argv[])
{
signal(SIGALRM, signalHandler); //第一个信号安装函数
signal(SIGVTALRM, signalHandler); //第二个信号安装函数
signal(SIGPROF, signalHandler); //第三个信号安装函数
struct itimerval new_value;
new_value.it_value