Tu comprensión está mal. Varios procesos de Linux pueden escribir en el mismo archivo a la vez (y lo que sucede puede no estar especificado, excepto cuando los procesos sobrescriben diferentes segmentos de ese archivo). Y algún otro proceso de Linux (por ejemplo, su navegador) puede leer un archivo en el que está escrito .
Podrías adoptar una convención para evitar eso . Por ejemplo, podría usar el bloqueo de archivos de aviso (adoptando la convención de que todo programa relevante debería hacer eso), por ejemplo, con flock (2) , lockf (3) , etc. Pero eso no prohibirá otros procesos (no seguir sus convenciones) para acceder (o incluso escribir) a ese archivo. Puede usar maquinaria de permisos (por ejemplo, dedicando un usuario del sistema a su programa setuid ).
Consulte también las respuestas this & that en StackOverflow (algunas de ellas mencionaron los mecanismos de bloqueo obligatorios obsoletos específicos de Linux). Lea sobre las propiedades de ACID , considere usar alguna base de datos ( sqlite , PostGreSQL , MongoDB , etc.) o algún archivo indexado ( gdbm ).
No conozco Windows, pero escuché el rumor de que no permite el acceso concurrente o escribe en el mismo archivo.