execl wait 应用

来源:互联网 发布:自控力 知乎 编辑:程序博客网 时间:2024/05/23 14:02
#include "unistd.h"#include "stdio.h"#include "wait.h"#include<stdlib.h>int main (){int  status1,status2;   pid_t pid1,pid2;   pid1=fork();   if (pid1>0)   {     pid2=fork();     if(pid2>0)     {             waitpid(pid1,&status1,0);       if(WIFEXITED(status1))        {         printf ("status is %d\n",WEXITSTATUS(status1));        }       waitpid(pid2,&status2,0);       if(WIFEXITED(status2))        {         printf ("status is %d\n",WEXITSTATUS(status2));        }          printf("this is parents\n");     }     else if(pid2==0)     {       printf("this is child2\n");       execl("/sbin/ifconfig","ifconfig","eth0",NULL);        sleep(1);       exit(20);     }     else {     printf ("fork2 error");     }   }   else if(pid1==0)   {     printf("this is child1\n");      execl("/bin/ls","ls","-l","./",NULL);      exit(12);   }   else    {   printf ("fork1 error");   }}