如何回到父进程....?

时间:2013-01-04 09:08:10

标签: c

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

示例代码

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 ..正在执行exec并运行另一个pgm ..但我想切换到父进程并从wait();之后的语句继续。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

如果孩子退出,父母应继续wait()之后的代码,假设这是对wait()函数的有效调用。