小编riz*_*riz的帖子

如何使子进程等待它的兄弟?

我正在使用[Mat] [1]建议的IPC解决它,但我仍然无法做到
这一点,而且它是样本练习,而不是作业!但我有考试,所以
请在这里帮助我... :)
有人在这里指出我做错了什么.Kid2不发送或父母不接受来自孩子2的任何信号.

感谢名单.

#include<stdio.h>  
#include<sys/wait.h>  
#include<wait.h>  
#include<signal.h>  

void my_handler_for_kid2(int sig_num){  
  printf("KID2:Recieved SIGUSR1 from KID1\n");  
}  
void my_handler_for_parent(int sig_num){  
  printf("PARENT:Recieved SIGUSR2 from KID2\n");  
}  

int main(){  
  int status;  
 pid_t kid1,kid2;  

  void my_handler_for_kid2(int sig_num);  
  void my_handler_for_parent(int sig_num);  
  signal(SIGUSR1,my_handler_for_kid2);
  signal(SIGUSR2,my_handler_for_parent);
  kid1=fork();  
  if(kid1 < 0){  
    printf("Fork not successfull\n");  
  }  
  else if(kid1 == 0){  
    printf("I am KID1[%ld] and I am going to sleep\n",(long) getpid());  
    sleep(5);  
    printf("Just woke up!\n");  
    kill(kid2,SIGUSR1);  
      }  
  else{  
    kid2=fork();  
    if(kid2 < 0){ 
      printf("Fork not successfull\n");  
    }  
    else if(kid2 …
Run Code Online (Sandbox Code Playgroud)

c unix ipc process

1
推荐指数
1
解决办法
1911
查看次数

标签 统计

c ×1

ipc ×1

process ×1

unix ×1