📄 3.c
字号:
#include<stdio.h>
#include<stdlib.h>
#include<signal.h>
#include<sys/types.h>
int pid1;
int pid2;
void func(){
kill(pid1,10);
kill(pid2,12);
wait(NULL);
wait(NULL);
printf("Parent process is killed !\n");
}
void func1(){
printf("Child process one is killed by Parent!\n");
exit(0);
}
void func2(){
printf("Child process two is killed by Parent!\n");
exit(0);
}
main(){
pid1=fork();
if(pid1==0){
sigset_t i;
sigemptyset(&i);
sigaddset(&i,SIGINT);
sigprocmask(SIG_BLOCK,&i,NULL);
signal(10,func1);
while(1){;}
}
else if(pid1>0){
pid2=fork();
if(pid2==0){
sigset_t j;
sigemptyset(&j);
sigaddset(&j,SIGINT);
sigprocmask(SIG_BLOCK,&j,NULL);
signal(12,func2);
while(1){;}
}
else{
signal(SIGINT,func);
while(1){;}
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -