文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>linux进程开发之(八):多进程程序开发一

linux进程开发之(八):多进程程序开发一

时间:2010-10-25  来源:andyluo324324

#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/wait.h>
int main(void)
{
 pid_t child1,child2,child;
 child1 = fork();//创建两个子进程
 child2 =fork ();
 if(child ==-1)//子进程1的出错处理
 {
  perror("child fork") ;
  exit(1);
 } 
 else if(child1==0)//在子进程1中调用execlp函数
 {
  printf("in child1:execute 'ls -l'\n");
  if(execlp("ls","ls","-1",NULL)<0)
  {
   perror("child1 execlp"); 
  } 
 }
 if(child2==-1)////子进程2的出错处理
 {
  perror("child2 fork");
  exit(1); 
 }
 else if(child2==0)//在子进程2中使其睡眠5s,然后退出
 {
  printf("in child2:sleep for 5 seconds and then exit\n");
  sleep(5);
  exit(0);  
 }
 else//在父进程中等待子进程2的退出
 {
  printf("in father process:\n");
  do
  {
   child=waitpid(child2,NULL,WNOHANG);
   if(child==0)
   {
    printf("the child2 process has not exited !\n");
    sleep(1); 
   } 
   
  }
  while(child==0);
  if(child==child2)
  {
   printf("get child2\n"); 
  }
  else
  {
   printf("error occured !\n"); 
  }
   
 }
 
}
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载