1

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

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

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

2 ответа2

2

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

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

1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .