zsh usando CPU a 100% após o início do editor de atom

1

Eu tenho um pequeno problema com zsh , ele usa a CPU em 100% algumas vezes. Na imagem abaixo:

Comopossoresolverisso?Eumateimuitasvezes,massemprecomeçadenovo.

Oarquivodeconfiguraçãoésimples,éopadrãodeoh-my-zshmaisalgumascoisasparavirtualenvwrapperepyenv:

source/usr/bin/virtualenvwrapper.shexportPATH="/home/plugaru/.pyenv/bin:$PATH"
 eval "$(pyenv init -)"
 eval "$(pyenv virtualenv-init -)"

E sim, estou usando Atom :)

    
por PlugaruT 26.11.2016 / 10:50

1 resposta

7

Este bug é o resultado de algum design questionável no Atom. Não é específico para o Z Shell, além disso. As pessoas experimentam com outras conchas também.

O Atom quer conhecer as variáveis de ambiente do seu shell de login interativo por algum motivo. Para fazer isso, ele gera uma instância do shell escolhido, diz para executar o comando env (depois de executar todos os seus scripts de inicialização) usando a opção de linha de comando -c do shell e captura a saída disso. Ele tenta garantir que ele não atinja nenhum alias de shell, então ele executa command env e tenta obter o ambiente como seria para um shell login , dando ao shell escolhido um -l opção de linha de comando também.

Os desenvolvedores do Atom descobriram que as pessoas não estavam configurando o ambiente corretamente para os shells de login não interativos . Para contornar isso, eles fizeram também fornecer o shell com a opção -i que diz ao shell para pensar que ele é um shell de login interativo mesmo se o seu padrão I / O não aparece interativa.

Infelizmente, eles invocam um shell interativo de tal forma que shells como o Z Shell vão todo o porco e tentam ler as entradas interativamente. Mas o Atom não fornece nenhuma entrada, apenas um fim de arquivo.

Insira as opções ignoreeof do shell Z e do Bourne Again como o elemento final dessa comédia. Essas opções significam que os shells continuam tentando para ler a entrada, mesmo que obtenham o fim do arquivo na entrada padrão. Eles fazem isso em um loop bem apertado. Daí o uso da CPU.

Leitura adicional

por 26.11.2016 / 13:37

Tags