强制父进程先运行

时间:2016-10-23 06:40:53

标签: c linux-kernel operating-system fork

在我的系统(Opensuse)上,默认情况下,子进程总是在fork之后首先执行。还有一些方法可以强制子进程先运行。我想知道是否有任何方法可以强制父进程先运行?

1 个答案:

答案 0 :(得分:2)

您可以使用此方法

pid_t pid = fork();
if (pid == -1)
    abort();
else if (pid == 0) 
{
    raise(SIGSTOP); // stop the child
} 
else 
{
    waitpid(pid, NULL, WUNTRACED); // wait until the child is stopped
    kill(pid, SIGCONT); // resume the child
}