w_h_y 发表于 2004-7-2 10:00:38

求助——父子进程无名管道程序,急盼回复!!!

在下面的程序中,父进程首先创建无名管道,再创建一个子进程;然后从键盘上读入一个Shell命令串(如 ls -l ),并通过无名管道向子进程发送该命令串;父进程等待子进程终止。子进程通过管道读到命令串并执行该命令后返回。子进程然后打印“CmmandCompleted.”后终止自己。父进程在子进程完成任务后,显示返回状态后结束运行。
在下面程序的划线编号处填写适当的语句。
char cmd ;
void main()
{
    int pid, status, chan;
   
    ________________(1)________________       

    if (_________________(2)__________________) {
      close (chan);
      printf("canmand= ");
      gets(cmd);
      
      __________________(3)___________________________
      close (chan);
      sleep(5);

      ____________________(4)______________________       
      printf("status= %d\n", status);
                return;
    } else {
      close (chan);
      bzero (cmd, sizeof(cmd));       

      ______________(5)________________________

__________________(6)______________________
      printf("Cmmand Completed.\n");
      exit(2);
    }
}
页: [1]
查看完整版本: 求助——父子进程无名管道程序,急盼回复!!!