Нет. Windows предназначена для «среднего пользователя», то есть людей, которые ничего не понимают в компьютере. Поэтому ОС старается быть умной, чтобы избежать PEBKAC s. Цитирую Билла Гейтса: «В Windows нет проблем, которые хотят решить многие люди». Конечно, он знает, что 99,9999% всех пользователей Windows не могут сказать, сделала ли программа что-то странное из-за них или из-за парня, который это написал.
Unix был разработан, когда мир был более простым, и любой, кто был достаточно близко к компьютеру, чтобы прикоснуться к нему, вероятно, знал, как собрать его из грязного песка. Поэтому ОС обычно позволяет вам делать то, что вы хотите, потому что она предполагает, что вы знаете лучше (и если вы этого не сделали, вы будете в следующий раз).
Технический ответ: Unix выделяет «i-node», если вы создаете файл. I-узлы могут быть разделены между процессами. Если два процесса создают один и тот же файл (то есть два процесса вызывают create () с одинаковым путем), то в итоге вы получаете два i-узла. Это по замыслу. Это позволяет использовать необычную функцию безопасности: вы можете создавать файлы, которые никто не может открыть, кроме вас самих:
- Открыть файл
- Удалить его (но сохранить дескриптор файла)
- Используйте файл так, как вам нравится
- Закрыть файл
После шага № 2 единственный процесс в юниверсе, который может получить доступ к файлу, - это тот, кто его создал (если только вы не хотите читать жесткий диск блок за блоком). Операционная система будет поддерживать данные до тех пор, пока вы не закроете файл или пока ваш процесс не умрет (после этого Unix очистится после вас).
Этот дизайн является основой всех файловых систем Unix. Файловая система Windows NTFS работает почти так же, но API высокого уровня отличается. Многие приложения открывают файлы в эксклюзивном режиме (который не позволяет никому, даже программам резервного копирования) прочитать файл. Это справедливо даже для приложений, которые просто отображают информацию, например, средства просмотра PDF.
Это означает, что вам придется исправить все приложения Windows для достижения желаемого эффекта. Если у вас есть доступ к источнику, вы можете создать файл в режиме общего доступа. Это позволило бы другим процессам получить к нему доступ одновременно, но тогда вам придется перед каждым чтением / записью проверять, существует ли файл, внесены ли изменения и т. Д.