系统相关
首页 > 系统相关> > linux系统编程之阻塞信号集和未决信号集

linux系统编程之阻塞信号集和未决信号集

作者:互联网

linux系统编程之阻塞信号集和未决信号集

--------调用kill函数,用第三个子进程杀死父进程

#include<stdio.h>
#include<unistd.h>
#include<sys/typr.h>
#include<signal.h>

int main()
{
  int i=0;
  for(i=0;i<5;i++)
  {
     pid_t pid=fork();
     if(pid==0)
     {
        break;
     }  
  }
  if(i==2)
  {
    printf("I will kill father after 5s\n");
    sleep(5);
    kill(getppid(),SIGKILL);
    while(1)
    {
      sleep(1);
    }
  }
  if(i==5)
  {
     printf("I am parent,I am happy!\n");
     sleep(1);
  }
  return 0;
}

输出:
在这里插入图片描述

--------调用kill函数,用父进程杀死 其中第三个子进程

```bash
#include<stdio.h>
#include<unistd.h>
#include<sys/typr.h>
#include<signal.h>

int main()
{
  int i=0;
  pid_t pid3,pid;
  for(i=0;i<5;i++)
  {
     pid_t pid=fork();
     if(pid==0)
     {
        break;
     }  
     if(i==2)
     {
        pid3=pid;
     }
  }
  if(i<5)
  {
     printf("I am child,pid=%d,ppid=%d\n",getpid(),getppid());
     sleep(3);
    
  }
  else if(i==5)
  {
     printf("I am parent,pid=%d,I  will kill xiaoshan pid3=%d\n",getpid(),pid3);
      sleep(5)
      kill(pid3,SIGKILL);
      while(1)
      {
        sleep(1);
      }
  }
  
  return 0;
}

输出:
在这里插入图片描述

标签:int,pid,未决,kill,信号,linux,sleep,pid3,include
来源: https://blog.csdn.net/zxdrttu/article/details/114627891