-3

如何从正在运行另一个程序(在 while 循环中)的子进程(使用 exec 调用)返回父进程。

示例代码在这里

do
{
     if(fork() == 0)
     { 
        exec("running a program in while loop..") 
     }
     else
     {
        wait();
        printf("do you want to cont..\n"); // bk pt. 
        scanf(" %c",ch); //yes/no           
     }
}while(ch == 'y');

现在,如果我运行上面的 pgm..its 执行 exec 并运行另一个 pgm..但我想切换到父进程并从 wait() 之后的语句继续;。

4

2 回答 2

0

您不能,因为 exec* 函数将程序代码替换为作为参数传递的代码。只需使用叉子(和刀)。

于 2013-01-04T09:11:01.263 回答
0

你不需要“切换”,在创建一个孩子之后,你有两个 并行执行的线程(至少从逻辑上讲)。

如果子进程退出,父进程应该继续执行 之后的代码wait(),假设这确实是对wait()函数的有效调用。

于 2013-01-04T09:11:16.817 回答