Jekyll estava funcionando bem para mim algumas semanas atrás, mas agora, de repente, ele me dá o seguinte erro:
TCPServer Error: Address already in use - bind(2)
INFO WEBrick::HTTPServer#start: pid=7300 port=4000
% lsof -i :4000
<fetches nothing>
Mesmo que nada esteja sendo executado na porta. Abaixo estão os detalhes:
% jekyll --version
Jekyll 0.11.2
% where jekyll
/home/bhaarat/.rvm/gems/ruby-1.9.2-p290/bin/jekyll
/usr/bin/jekyll
% ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]
% rvm --version
rvm 1.10.0
Aqui está o resultado
% jekyll --server
Configuration from /home/bhaarat/blog/omnipresent.github.com/_config.yml
Auto-regenerating enabled: /home/bhaarat/blog/omnipresent.github.com -> /home/bhaarat/blog/omnipresent.github.com/_site
[2012-04-21 13:46:40] regeneration: 38 files changed
[2012-04-21 13:46:40] INFO WEBrick 1.3.1
[2012-04-21 13:46:40] INFO ruby 1.9.2 (2011-07-09) [i686-linux]
[2012-04-21 13:46:40] WARN TCPServer Error: Address already in use - bind(2)
[2012-04-21 13:46:40] INFO WEBrick::HTTPServer#start: pid=7382 port=4000
Sei que o endereço não está em uso e provavelmente o jekyll está corrompido por algum outro motivo, mas apresentando esse erro. Quais são minhas opções? Também tentei reinstalar.
lsof -i :<port number>
e a mesma coisa está acontecendo em uma caixa diferentegem uninstall jekyll
. Se você não instalou com gem para sobrescrever a versão existente. Você tentou acessar a porta com seu navegador ou telnet para ver se isso fornece alguma ajuda?Respostas:
Digite em seu terminal para descobrir o PID do processo que está usando a porta 3000:
Em seguida, use o número na coluna PID para encerrar o processo:
fonte
PID
pelo número real que você vê sob o PID. por exemplo, eu corrikill -9 11734
Eu não estava qualificado para postar comentários. Então, acrescentei uma nova resposta.
Eu encontrei esse problema no Mac OS X 10.10.3. E eu nunca tinha instalado / usado o Jekyll antes. Não consegui iniciar o servidor jekyll com o número de porta padrão 4000. O motivo era que a porta era a mesma que o NoMachine usava. Com
Nota: A execução deste comando sem
sudo
não terá saída.Eu vi esta saída:
A porta 4000 foi ocupada por
nxd
, que foi o processo iniciado pela NoMachine. Enão funcionaria, porque o processo nxd do NoMachine continuaria reiniciando, com um novo PID.
Portanto, eu tive que:
Mudei a porta do meu servidor jekyll no site
_config.yml
para outra poupada. Anexei a linha abaixo a_config.yml
e funcionou.port: 3000 # change server port to 3000
ou
fonte
Ctrl-Z
não encerra um programa, mas o suspende e o envia para segundo plano. Você pode retomar o programa com o comando "fg". Para realmente encerrá-lo, useCtrl-C
.A mensagem de erro real parece ser falsa e pode ser ignorada. Estou recebendo a mesma mensagem de erro "endereço em uso", mas jekyll funciona bem de qualquer maneira na porta esperada.
fonte
Eu encontrei esse problema recentemente.
Experimentei todos os métodos citados acima, e até reiniciei meu computador, mas ainda não consegui resolver !!! Então eu removi o jekyll e instalei uma nova versão, simplesmente funcionou.
gem uninstall jekyll & gem install jekyll
(talvez você precise de privilégios de superusuário).Se você realmente se irrita com bugs semelhantes, vale a pena tentar este método sb ...
fonte
podemos usar o comando do fusor
fuser -k 3000/tcp
fonte
Verifique se você não tem outro terminal aberto no qual já está executando um servidor. Se for esse o caso, faça um CTRL-C para desligar o servidor e isso irá liberar a porta / endereço.
fonte
Primeiro você precisa encontrar o PID do processo que está usando a porta 3000:
Resultado assim:
aqui você pode ver :
localhost: 3000 têm
pid: 6078
matar esse processo por
então corra
fonte
Gambiarra
em
/_site
execução:python -m SimpleHTTPServer 8080
fonte