Если я перезагружаю Windows, когда сторонний процесс заблокировал файл, будет ли эта блокировка снята автоматически?

Если я перезагружаю Windows, когда сторонний процесс заблокировал файл, будет ли эта блокировка снята автоматически?

Под третьей стороной я подразумеваю любой процесс, отличный от Windows, например, мое программное обеспечение или программное обеспечение других производителей.

Если это так, это 100% или зависит?

2 ответа

Да. Windows дает каждую программу WaitToKillAppTimeout секунд до выключения (по умолчанию 20): https://technet.microsoft.com/en-us/library/cc978624.aspx

После этого он закрывает все программы. Все файлы освобождаются, обработчики файлов становятся недействительными, и Windows выключается.

Во-первых, да, согласно ответу @user996142

Чтобы уточнить мой комментарий относительно сетевых процессов, ответ "в конце концов, да". Любой доступ к вашим файлам через сеть фактически блокирует файл косвенно. Процесс хоста на вашей машине (например, какой бы процесс ни шел за общим SMB) выполняет фактическую блокировку файла. Если что-то обращается к этому файлу, и вы запускаете режим гибернации или приостановки, при возобновлении он все еще будет заблокирован, пока процесс SMB не заметит, что клиент больше не подключен, и не снимет блокировку. Я не уверен в таймфрейме, но Microsoft, похоже, предпочитает тайм-аут по умолчанию в 2 минуты.

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