> > | Multiple processes that open the same file for writing each maintain | > their own file positions, so they may overwrite the output of another | > process, unless the processes all open the file with the "O_APPEND" | > option. > > This only matters if the processes _independently_ opened the file. So > this: > > echo AAA >foo & > echo BBB >foo & > > pretty much _will_ overwrite each other. But the OP effectively has > this: > > ( echo AAA & > echo BBB & > ) >foo > > Only _one_ open file handle in play. The writes may happen in either > order but they will _not_ overwrite each other because there is only one > file handle, and thus only one file position pointer. > This is a fine point and it does make sense. However, why do I not get all 100 blocks of As, 100 blocks of Bs, etc. The for loop has 100 iterations, so there should be 100 lines each. Also, how would I know I'm overwriting the buffer. The output of each process (the echo in the example) is not 500 bytes but more like 30-40 Kb, possibly more, but not Mb. -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org