回答編集履歴

1

誤字修正

2021/07/20 15:42

投稿

segavvy
segavvy

スコア958

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- (1)`fork()`すると標準出力も子プロセスに渡りますが、その子プロセス終了する際渡された標準出力をフラッシュ&クローズするため、`fork()` 前にまだフラッシュしていない情報があると出力が重複してしまうことがあります。子プロセスを`_exit()`で終了するとこの処理が省かれるため、重複した出力が防げます。
11
+ (1)`fork()`すると標準出力も子プロセスに渡りますが、その子プロセス終了に渡された標準出力をフラッシュ&クローズするため、`fork()` 前にまだフラッシュしていない情報があると出力が重複してしまうことがあります。子プロセスを`_exit()`で終了するとこの処理が省かれるため、重複した出力が防げます。
12
12
 
13
13
  なお、このパターンの場合は`fork()`の前に`fflush(stdout)`でフラッシュしておくことでも回避できるかと思います。
14
14