动力节点首页 全国咨询热线:400-8080-105

绑定手机号,登录
手机号

验证码

微信登录
手机号登录
手机号

验证码

微信登录与注册
微信扫码登录与注册

扫码关注微信公众号完成登录与注册
手机号登录

linux控制进程如何解除僵尸状态

代码小兵

2023.11.20

1.
bb.c
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int main(int argc,char ** argv){
       pid_t pid;
    pid=fork();
    if(pid<0) // error
    {
        printf("there have something wrong\n");
        
    }
    if(pid>0)  // father
    {
        printf("this is main process pid is %d\n", pid);
        wait(NULL);
        
    }
    if(pid==0) // son
   {    
        printf("this is new processs");
        if( execl( "./aa","aa",NULL) < 0)
        {
          perror("execv error ");
        }
      sleep(20000);
    }
    return 0;
}
aa.c
#include <stdio.h>

main()
{
    int pid;

    printf("begin ...\n");
    pid = fork();
    if (pid == 0) {
        printf("I am the child\n");
        sleep(20000);
        exit(0);
    } else {
        printf("the child process pid is %d\n", pid);
        wait(NULL);
        printf("child process has terminated. \n");
        sleep(100);
    }
}

1)请指出它们之间的关系,用pstree
2)请用ps命令显示各进程id,及父进程id(ppid)
3)请控制程序退出到僵尸状态

    Linux

举报

添加回答

回答(0)

回复