Pergunta

Este problema surge de vez em quando no trabalho. A nossa máquina de compilação pode tê-lo de arquivos acessados ??através de um compartilhamento de arquivos do Windows normal. Se alguém procura uma pasta remotamente na máquina, e deixa a noite janela aberta, então a construção falhar (como tem feito agora). A janela do explorador esquerda pontos aberto em uma das sub-pastas na árvore fonte. A construção elimina a fonte, e faz um check-out limpo antes de construir. A exclusão está falhando.

Agora, eu gostaria de obter a criação funcionar. Eu estou logado de casa, e eu prefiro não reiniciar a máquina de compilação. Eu sou incapaz de se apossar da pessoa cuja máquina está à procura e os arquivos, e não pode reiniciar remotamente sua máquina.

Quando um compartilhamento do Windows tem um bloqueio, o processo de bloqueio é do sistema, então eu não acho que eu posso matá-lo, como com fechaduras normais.

Alguém sabe uma maneira de liberar o bloqueio em uma pasta compartilhada sem ter que reiniciar a máquina?

Foi útil?

Solução 2

Encontrado uma solução.

  1. Encontre o processo usando Explorador :

    1. Faça o download e extrato procexp.exe
    2. Em Process Explorer usar o "Find Handle ou DLL ..." comando a partir do menu "Procurar"
    3. Digite o nome do diretório que está tendo problemas para exclusão
    4. deve ser mostrado
    5. A lista de arquivos abertos que combinem com esse nome. Tome algumas suposições e descobrir qual deles não está a ser excluído. Se o arquivo está bloqueado por um compartilhamento do Windows, o processo segurando o arquivo estará Sistema
    6. Anote o diretório que foi deixada aberta
  2. Faça o download e instalar o Unlocker ( Aviso : link removido, pois ele contém malware)

    1. Instale Unlocker, desabilitando a opção para extensões Explorer e outros junk
  3. Desbloquear o diretório

    1. Abra uma janela cmd, e navegue até C: \ Arquivos de Programas \ Unlocker
    2. Na janela cmd, execute Unlocker.exe "o caminho-para-o-locked-pasta"
    3. Uma caixa de diálogo irá aparecer confirmando a liberação de bloqueio. Use o botão de desbloqueio para desbloquear o arquivo

Agora, o diretório deve ser desbloqueado, e agora pode ser apagada.

Outras dicas

Se você é administrador no servidor de partilha de ficheiros através da rede, você pode usar o recurso do Windows embutido:

  1. Iniciar ? Meu computador ? botão direito do mouse ? Gerenciar deixa no computador console de gerenciamento
  2. Na navegação à esquerda, navegue para Ferramentas de Sistema ? pastas compartilhadas
  3. Você pode ver Ações, Sessões e arquivos abertos aqui. Isso permite que você descubra quem abriu quais arquivos a partir do qual as estações de trabalho.
  4. Clique com o botão direito do mouse sobre um item na lista para ser capaz de remover o bloqueio de arquivo.

Espero que isso ajude.

Hacker Processo Tente: https://wj32.org/processhacker/

Process Hacker é como Process Explorer em esteróides.

Para encontrar o processo ofensivo, pressione CTRL + F ou clique no botão "Procurar alças de DLLs" e procure o nome do arquivo.

Uma vez que você encontrar o arquivo no diálogo alças encontrar, você pode simplesmente clique direito no arquivo lá e escolher "fechar". (Pelo menos para v2.39.124)

As versões mais antigas tinham uma opção "terminator" no menu de contexto do processo. Botão direito do mouse sobre o processo ofensivo -> Miscellaneous -> Terminator -> Selecionar técnicas de terminação . Note-se que alguns são possivelmente perigoso e pode ter consequências inesperadas.

Eu tive problemas semelhantes, e nenhuma dessas sugestões que eu vi acima de olhar adequado para compilações automatizadas durante a noite (como o poster original implícita), porque todos eles exigem esforço manual para caçar e matar as fechaduras.

O único método que eu tentei que parece funcionar de forma confiável é remover a própria ação, fazer a construção, em seguida, adicione a parte de trás share. Aqui está uma maneira de remover o compartilhamento automaticamente:

D: \ Projects> compartilhar projetos líquida / DELETE / Y

Os usuários têm arquivos abertos em projetos. Continuando a operação forçará os arquivos fechados.

Projetos foi excluído com sucesso.

(NOTA:. Criando o share novamente automaticamente pode ser uma dor se os grupos de privilégio que você precisa para dar-lhe são desorganizados)

A forma como eu fazer isso é usando tanto openfiles.exe e Handle.exe Você pode executá-los em qualquer ordem e você terá seu recurso totalmente desbloqueado.

openfiles: para desconectar sessões de compartilhamento de arquivos

Handle.exe: para liberar os identificadores abertos (não tente alças estreitas pertencentes a pid4, já que é o processo do sistema)

Você pode automatizar isso usando powershell, lote ou qualquer idioma de sua escolha.

Outra opção é, a partir do Windows Vista, para usar a ferramenta Windows embutido no sistema:

recursos do monitor: perfmon.exe /res

Extraído de: Http://www.sysadmit.com/2017/06/windows-how-to-know-that-process-has-open-a-file.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top