у меня есть несколько разных процессов, и я хотел бы, чтобы все они регистрировались в одном файле. Эти процессы выполняются в системе Windows 7. Некоторые из них представляют собой сценарии Python, а другие - командные файлы cmd
.
В Unix вы бы просто попросили всех открыть файл в режиме добавления и написать. Пока каждый процесс записал менее PIPE_BUF
байтов в одном сообщении, каждый вызов write
гарантированно не будет чередоваться с любым другим.
Есть ли способ сделать это под Windows? Наивный подход, подобный Unix, терпит неудачу, потому что Windows не любит, когда файл по умолчанию открыт для одновременной записи более чем в одном процессе.