考虑以下代码,当父进程终止时,stdin 控制权被 shell 收回,除了通过“ps -e”命令外,无法看到子进程正在运行。 有没有办法在父进程死亡之前将 stdin 控制权交给子进程? 我在这里阅读了一些类似的主题,但没有一个为这个问题提供解决方案。有人建议使用“#cat | ./a.out”作为解决方法,但如果有的话,我想要一个代码级解决方案。
pid = fork();
if( pid == 0)
{
while(1);
}
else
{
//wait(&childstatus);
printf("Hello From Parent\n");
}
最佳答案
是的,这就是 shell 的工作方式。如果您不希望 shell 占用事件进程组,请让父进程保持事件状态。
关于c - parent 去世后,不会将标准输入控制权交给 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33604687/