Se eu reiniciar o Windows enquanto um processo de terceiros tiver um arquivo bloqueado, o bloqueio será liberado automaticamente?

Se eu reiniciar o Windows enquanto um processo de terceiros tiver um arquivo bloqueado, o bloqueio será liberado automaticamente?

Se eu reiniciar o Windows enquanto um processo de terceiros tiver um arquivo bloqueado, o bloqueio será liberado automaticamente?

Por terceiro, quero dizer qualquer processo que não seja do Windows, como meu software ou software de outro fornecedor.

Se sim, é 100% ou depende?

Responder1

Sim. O Windows dá a cada programa WaitToKillAppTimeoutsegundos para desligar (o padrão é20):https://technet.microsoft.com/en-us/library/cc978624.aspx

Depois disso, fecha todos os programas. Todos os arquivos são liberados, os manipuladores de arquivos tornam-se inválidos e o Windows é encerrado.

Responder2

Em primeiro lugar,sim, conforme resposta fornecida por @user996142

Para elaborar meu comentário sobre processos de rede, a resposta é “eventualmente, sim”. Qualquer coisa que acesse seus arquivos pela rede está, na verdade, bloqueando o arquivo indiretamente. O processo host em sua máquina (por exemplo, qualquer processo que esteja por trás do compartilhamento SMB) faz o bloqueio real do arquivo. Se algo estiver acessando este arquivo e você forçar a hibernação ou suspensão, ao retomar ele ainda estará bloqueado até que o processo SMB perceba que o cliente não está mais conectado e libere o bloqueio. Não tenho certeza do prazo aqui, mas a Microsoft parece gostar de padrões de tempo limite de 2 minutos.

informação relacionada