[英]execve : convert execve call to fork
我有一个execve系统调用,将我的currnt程序与另一个程序叠加。 代码工作正常,但我的要求是使用fork系统调用更改此execve系统调用。 我正在尝试以下内容:
pid_t child_pid;
child_pid = fork();
if(child_pid == 0) {
if (-1 == execve(...)) //Normal previous execve call
{
.............
}
}
else
{ //fork parent process
exit(0);
}
我不确定在用fork替换execve系统调用时应该注意些什么。 在我的子进程中,我正在调用现有的execve调用以保持原始流(就像没有fork一样),但是父级应该怎么做-我应该正常退出还是需要等待子进程退出/死亡。 execve调用在当前进程上覆盖了一个新进程,因此没有父/子进程的问题。
随你(由你决定。 如果您不需要等待,则可以退出,在这种情况下,子进程将变为孤立的。
should I normally exit or I need to wait for the child process to exit/die
这取决于您和您的要求,如果需要,您可以使用wait(...)等待子进程,请访问http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp ?topic =%2Fapis%2Fwait.htm
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.