子进程在复制父进程的信号处理方式

来源:互联网 发布:studio软件下载 编辑:程序博客网 时间:2024/05/18 03:12

当一个进程调用f o r k时,其子进程继承父进程的信号处理方式。因为子进程在开始时复制
了父进程存储图像,所以信号捕捉函数的地址在子进程中是有意义的;

 

 

  1. #include <sys/types.h>  
  2. #include <unistd.h>  
  3. #include <signal.h>  
  4. #include <iostream>  
  5.   
  6. using namespace std;  
  7.   
  8.   
  9.   
  10.   
  11.   
  12. void sig_handle(int signo){  
  13.  cout << "---------------------------"<< endl;  
  14.  cout << getpid() << ":" <<signo;  
  15.   
  16. }   
  17.   
  18. int main(int args,char *argc[]){  
  19.   
  20.    
  21.  signal(SIGUSR1,sig_handle);   
  22.    
  23.  pid_t pid;  
  24.   
  25.   
  26.  pid=fork();  
  27.    
  28.  if(pid==0){  
  29.   cout << "son self pid:"<< getpid()<< endl;  
  30.   pause();  
  31.   cout << "continue" << endl;  
  32.  }else{  
  33.   cout << "son process:"<< pid << endl;  
  34.   cout << "father process:" << getpid()<<endl;  
  35.   kill(pid,SIGUSR1);  
  36.   while(true){  
  37.    ;  
  38.   }  
  39.  }  
  40.   
  41. }  

 

 

打印----------------------------------

0 0
原创粉丝点击