Как переименовать файл в Windows, если несколько процессов уже открыты, что в C на Windows

Я хочу сделать резервную копию файла, как только он достигнет определенного размера. Файл связан с потоком stdout для нескольких процессов.

Я сомневаюсь, что freopen можно использовать в этом случае, так как он связан с несколькими процессами.

Хотя это может быть успешно с процессом, который выполняет это, другие ссылки на процесс для stdout переходят в NULL на платформе UNIX. Я не знаю, как это ведет себя на окнах.

Переименование этого файла также не допускается в Windows, так как этот процесс открывается несколькими процессами.

Есть ли способ принудительно переименовать файл.? В Unix, если я перемещаю файл, весь процесс ссылается на перемещенный файл. Это также хорошо, позже у меня есть механизм, чтобы сообщить другому процессу, чтобы открыть файл.

Как добиться этого на окнах с Си-программированием.

0 ответов

Другие вопросы по тегам