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

标签 c

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

最佳答案

您不需要“切换”,创建子级后,您将有两个线程并行执行(至少从逻辑上讲)。

如果子进程退出,父进程应继续执行 wait() 之后的代码,假设确实是对 <a href="http://linux.die.net/man/2/wait" rel="noreferrer noopener nofollow">wait()</a> 的有效调用功能。

关于c - 如何回到父进程......?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14154074/

相关文章:

c - 在数组中查找值范围时出错

c++ - siginfo 匿名 union 体

c++ - 我可以在我的 ActionScript-3 代码中使用 C/C++ 代码吗?

c - 如何从 execl 向 scanf 传递参数?

c - 将两个数组的 LSB 对齐到 C 中的列中

c++ - 如果您已经知道变量应该是常量,为什么还要使用关键字 const?

c++ - 为什么 int 指针 '++' 递增 4 而不是 1?

释放内存的正确方法

代码不会编译

c - 使用预处理器##动态调用函数