Isso geralmente é realizado por meio de bloqueios . Existem dois tipos de bloqueios no Linux, consultivos e obrigatórios.
Bloqueios de consultoria exigem cooperação entre processos concorrentes, ie , que cada processo primeiro verifica se existe um bloqueio no arquivo, então age de acordo com sua existência (= espera) ou inexistência (= leitura /escrever). Em vez disso, o bloqueio obrigatório fornece a um processo a autoridade para impedir que os outros processos atuem no arquivo bloqueado.
Você não informou que tipo de processo está gravando em seu arquivo grande, por isso não sei qual dessas duas alternativas é mais adequada. Eu posso sugerir uma boa Introdução ao tópico, por falta de mais informações.