次のプログラムを検討してください。
main() {
printf("hello\n");
if(fork()==0)
printf("world\n");
exit(0);
}
を使用してこのプログラムをコンパイルする./a.out
と、次の出力が得られます。
hello
world
を使用してこのプログラムをコンパイル./a.out > output
すると、「output」というファイルに出力が得られ、次のようになります。
hello
hello
world
これはなぜですか?