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"); }}