【发布时间】:2019-02-19 16:57:17
【问题描述】:
我创建了一个分叉并要求输入的程序:
void main() {
int a;
fork();
fork();
printf("Enter: ");
scanf("%d", &a);
printf("%d received %d\n", getpid(), a);
}
我运行它并输入一个数字:
$ ./mytest
Enter: Enter: Enter: Enter: 42
15317 received 42
$
为什么看起来只有原始父进程才能获得数字?为什么不是输出,例如:
$ ./mytest
Enter: Enter: Enter: Enter: 42
15317 received 42
15318 received 42
15319 received 42
15320 received 42
$
【问题讨论】: