ファイルを開いてからforkすると、そのファイルディスクリプタはシステムワイドなオープンファイルテーブルの同じ項目を指すので、書き込み位置(file offset)も共有され、同時に追加書き込みをしても競合は発生しないと思ったのですが、実験してみたら log.txt PARENT 24043 894 helloCPARENT 24043 895 hellCHPARENT 24043 896 helCHIPARENT 24043 897 heCHILPARENT 24043 898 hello のようにおかしな部分が出ていました。環境はLinux 3.10.0です。 基礎的なことかと思いますが、どうしてこうなるのか教えていただけないでしょうか。 実験に使ったコード: #include <stdio.h> #include <unistd.h> #include <fcntl.h> #incl