我了解到在/proc/sys/kernel/sched_child_runs_first
中设置非零值将会强制子进程在父进程之前运行。然而,我认为它似乎没有起作用。以下是我的代码:
#include <stdio.h>
#include <sys/types.h>
int main(int argc, char **argv)
{
pid_t child_pid;
switch(child_pid = fork())
{
case 0:
printf("In Child\n");
exit(0);
case -1:
printf("Could not fork()\n");
default:
printf("In parent\n");
}
return 0;
}
我得到的输出总是:
In parent
In Child
我在这里期待了什么吗?
附注:我只是在进行实验,想看看它是否有效,请勿提出其他同步机制或者为什么这是一个不好的想法等建议。