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