Bash trava no subsistema Linux no Windows 10

3

No Windows 10, estou usando o subsistema Linux. Primeiro abro um terminal cmd com o administrador e, em seguida, inicio bash no terminal cmd e, em seguida, uso o bash shell.

Às vezes, meu festeiro fica parado em um terminal.

Por exemplo, quando um arquivo é aberto por algum software no Windows, tento renomear o diretório pai do arquivo por mv fileParentDir fileParentDirnew no bash e depois o bash irá travar. Se eu forçar a fechar o terminal bash e reabrir um novo terminal cmd para iniciar bash novamente, o comando bash será interrompido também. O problema pode ser resolvido reiniciando o Windows.

existe uma solução para o problema de interrupção, não reiniciando o Windows?

Eu pesquisei e alguns disseram que vários arquivos de partição podem ser o motivo. Mas estou usando apenas uma única partição e arquivo de partição.

Obrigado.

    
por Tim 07.02.2017 / 17:37

2 respostas

3

AVISO: A correção deste bug foi lançada publicamente. Se você ainda tiver o problema, verifique se o Windows 10 está atualizado.

Este é um problema conhecido e, aparentemente, você deve reiniciar o computador para recuperar: Edição 671 - mv empty subpasta causa deadlock - BashOnWindows GitHub .

O problema foi corrigido no Windows Insider Preview Build 14901 em agosto.

Bash on Ubuntu on Windows - Release Notes (Build 14901)

First Insider build for the post Windows 10 Anniversary Update release.

For general Windows information on build 14901 visit the Windows Blog. To track or report an issue visit our Github page.

Fixed trailing slash issue Commands such as $ mv a/c/ a/b/ now work

Soluções:

  1. Instale qualquer construção do Windows Insider Preview 14901 ou posterior
  2. Aguarde a atualização do aniversário ser liberada para todos
  3. Evite argumentos da linha de comando terminando em uma barra.
por 07.02.2017 / 21:00
1

Então eu estava tendo esse problema também. Eu estou em um domínio ligado ao PC e isso foi parte do problema que eu acredito.

Ao executar comandos, depois de pressionar "Enter", o shell travaria e me diria (às vezes) que não encontraria meu "hostname". Eu notei que isso ocorria toda vez que eu usava o sudo ou quando eu esperava que o DNS entrasse em ação.

Eu executei estes comandos:

# hostname --short
host    

hostname --domain
[error message]

A partir disso, decidi verificar o arquivo de nome de host e garantir que meu FQDN estava definido (não era)

/etc/hostname

Depois de definir isso como host.domain.com, executei o seguinte:

sudo hostname -F /etc/hostname

Eu não tenho mais nenhum enforcamento após executar os comandos e não há mais reclamações sobre a impossibilidade de encontrar nomes de host. Não tenho certeza se você está em um domínio, mas se for, vale a pena conferir.

NOTA: Por alguma razão, eu tenho que fazer isso toda vez que eu abrir o bash. É realmente frustrante ...

OUTRA NOTA: Acho melhor executar o bash como administrador. Você não pode usar o ping sem fazer isso.

    
por 03.03.2017 / 21:55