⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 3.c

📁 实现进程间的创建、管理、软中断通信和管道通信
💻 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 + -