【发布时间】:2017-03-05 03:50:31
【问题描述】:
默认情况下,在我的系统(Opensuse)上,子进程总是在 fork 之后首先执行。还有一些方法可以强制子进程先运行。我想知道有没有办法强制父进程先运行?
【问题讨论】:
-
取决于操作系统的类型和上下文切换时间。你唯一能做的就是在子进程中写入 sleep(time) 以便它在父进程之后获得 cpu
-
是的,这会发生,但即便如此,Child 必须运行一次才能执行 sleep/sigsuspend。
-
您可以通过
ptrace安排在SIGSTOPed 状态下创建孩子。
标签: c linux-kernel operating-system fork