请考虑以下程序。为什么shell和文件之间的输出不同
main() {
printf("hello\n");
if(fork()==0)
printf("world\n");
exit(0);
}
编译使用./a.out
此程序会产生以下输出:
hello
world
编译使用./a.out > output
此程序会产生所谓的“输出”的文件中的输出,似乎是这样的:
hello
hello
world
这是为什么呢?