如何从子进程(使用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();之后的语句继续。
答案 0 :(得分:0)
你不能,因为exec *函数用你作为参数传递的代码替换程序的代码。只需使用叉子(和刀子)。
答案 1 :(得分:0)
你不需要“切换”,在创建一个孩子后,你有两个并行执行的线程(至少在逻辑上讲)。
如果孩子退出,父母应继续wait()
之后的代码,假设这是对wait()
函数的有效调用。