Jekyll me estaba funcionando bien hace unas semanas, pero ahora, de repente, me da el siguiente error:
TCPServer Error: Address already in use - bind(2)
INFO WEBrick::HTTPServer#start: pid=7300 port=4000
% lsof -i :4000
<fetches nothing>
Aunque no se esté ejecutando nada en el puerto. A continuación se muestran los detalles:
% 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
Aquí está la salida
% 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
Sé que la dirección no está en uso y es probable que jekyll se esté rompiendo por alguna otra razón, pero arroja ese error. ¿Cuáles son mis opciones? También intenté reinstalar.
lsof -i :<port number>
más lo mismo sucede en una caja diferentegem uninstall jekyll
. Si tal vez no lo instaló con gem para sobrescribir la versión existente. ¿Intentaste acceder al puerto con tu navegador o telnet para ver si eso te ayuda?Respuestas:
Escriba esto en su terminal para averiguar el PID del proceso que está usando el puerto 3000:
Luego, use el número en la columna PID para finalizar el proceso:
fuente
PID
por el número real que ve debajo del PID. por ejemplo, corríkill -9 11734
No estaba calificado para publicar comentarios. Entonces agregué una nueva respuesta.
Encontré este problema en Mac OS X 10.10.3. Y nunca antes había instalado / usado Jekyll. No pude iniciar el servidor jekyll con su número de puerto predeterminado 4000. La razón era que el puerto era el mismo que usaba NoMachine. Con
Nota: Ejecutar este comando sin
sudo
no tendrá salida.Vi esta salida:
El puerto 4000 fue ocupado por
nxd
, que fue el proceso iniciado por NoMachine. Yno funcionaría, porque el proceso nxd de NoMachine seguiría reiniciándose, con un nuevo PID.
Por lo tanto, tuve que:
Cambié el puerto de mi servidor jekyll en el sitio
_config.yml
a otro libre. Agregué la línea de abajo_config.yml
y funcionó.port: 3000 # change server port to 3000
o
fuente
Ctrl-Z
no finaliza un programa, sino que lo suspende y lo envía a un segundo plano. Puede reanudar el programa con el comando "fg". Para terminarlo, useCtrl-C
.El mensaje de error real parece ser falso y puede ignorarse. Recibo el mismo mensaje de error "dirección en uso", pero jekyll funciona bien de todos modos en el puerto esperado.
fuente
Me he encontrado con este problema recientemente.
Probé todos los métodos mencionados anteriormente e incluso reinicié mi computadora, ¡pero aún así no pude resolverlo! Luego quité el jekyll e instalé una nueva versión, simplemente funcionó.
gem uninstall jekyll & gem install jekyll
(tal vez necesite privilegios de superusuario).Si realmente te molestan errores similares, vale la pena probar este método sb ...
fuente
podemos usar el comando fusor
fuser -k 3000/tcp
fuente
Compruebe que no tiene otra terminal abierta en la que ya esté ejecutando un servidor. Si ese es el caso, haga CTRL-C para apagar el servidor, y eso liberará el puerto / dirección.
fuente
Primero necesita encontrar el PID del proceso que está usando el puerto 3000:
Salida como esta:
aquí puedes ver :
localhost: 3000 tienen
pid: 6078
matar ese proceso por
entonces corre
fuente
solución alterna
en
/_site
ejecución:python -m SimpleHTTPServer 8080
fuente