web-dev-qa-db-fra.com

Erreur TCPServer: adresse déjà utilisée - bind (2)

Jekyll fonctionnait bien pour moi il y a quelques semaines, mais maintenant, tout à coup, cela me donne l'erreur suivante:

TCPServer Error: Address already in use - bind(2)
INFO  WEBrick::HTTPServer#start: pid=7300 port=4000

 % lsof -i :4000
 <fetches nothing>

Même si rien ne fonctionne sur le port. Voici les détails:

 % 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 

Voici la sortie

 % 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

Je sais que l'adresse n'est pas utilisée et jekyll est probablement en train de rompre pour une autre raison, mais en lançant cette erreur. Quelles sont mes options? J'ai essayé de réinstaller aussi.

86
Omnipresent

Tapez ceci dans votre terminal pour connaître le PID du processus utilisant le port 3000:

$ lsof -wni tcp:3000

Ensuite, utilisez le numéro dans la colonne PID pour tuer le processus:

$ kill -9 PID
209
Naoise Golden

Je n'étais pas qualifié pour poster un commentaire. J'ai donc ajouté une nouvelle réponse.

J'ai rencontré ce problème sur Mac OS X 10.10.3. Et je n’avais jamais installé/utilisé Jekyll auparavant. Je n'ai pas pu démarrer le serveur jekyll avec son numéro de port par défaut 4000. La raison en était que le port était le même que celui utilisé par NoMachine. Avec 

$ Sudo lsof -wni tcp:4000

Remarque: L'exécution de cette commande sans Sudo n'aura aucun résultat.

J'ai vu cette sortie:

COMMAND PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
nxd     449   nx    3u  IPv4 0x8d22************      0t0  TCP *:terabase (LISTEN)
nxd     449   nx    4u  IPv6 0x8d22************      0t0  TCP *:terabase (LISTEN)

Le port 4000 était occupé par nxd, processus lancé par NoMachine. Et 

$ Sudo kill -9 449

ne fonctionnerait pas, car le processus nxd de NoMachine continuerait à redémarrer avec un nouveau PID. 

Par conséquent, je devais soit:

  • Changé le port de mon serveur jekyll du site _config.yml en un autre épargné. J'ai ajouté la ligne ci-dessous à _config.yml et cela a fonctionné.

    port: 3000 # change server port to 3000

ou

  • Modification du port nxd par défaut de NoMachine ou Désinstallation de NoMachine
16
Fonzie

Ctrl-Z ne termine pas un programme, mais le suspend et l'envoie en arrière-plan. Vous pouvez reprendre le programme avec la commande "fg". Pour le terminer, utilisez Ctrl-C.

Le message d'erreur réel semble être faux et peut être ignoré. Je reçois le même message d'erreur "adresse utilisée" mais jekyll fonctionne quand même au port attendu.

10
kevin

J'ai rencontré ce problème récemment. 

J'ai essayé toutes les méthodes mentionnées ci-dessus et j'ai même redémarré mon ordinateur, mais je ne pouvais toujours pas le résoudre !!! Ensuite, j'ai enlevé le jekyll et installé une nouvelle version, cela a juste fonctionné. 

gem uninstall jekyll & gem install jekyll (peut-être avez-vous besoin du privilège de super utilisateur). 

Si vous êtes vraiment ennuyé par des bugs similaires, cette méthode sb vaut le coup d'être essayée ...

4
wfwei

solution de contournement

dans /_site exécuter: python -m SimpleHTTPServer 8080

0
Arvind

Vérifiez que vous n'avez pas un autre terminal ouvert sur lequel vous exécutez déjà un serveur . Si c'est le cas, faites un CTRL-C pour éteindre le serveur, ce qui libérera le port/l'adresse. 

0
harvey

Vous devez d’abord trouver le PID du processus utilisant le port 3000:

 $ps -ef

Sortie comme ceci:

1003      4953  2614  0 08:51 pts/0    00:00:00 -bash
1003      5634     1  0 08:56 pts/0    00:00:00 spring server | moviestore | started 2 hours ago                                           
1003      5637  5634  0 08:56 ?        00:00:01 spring app    | moviestore | started 2 hours ago | development mode                                                              
1003      6078  4953  0 09:03 pts/0    00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]              
1003      6117  2614  0 09:03 pts/1    00:00:00 -bash
root      6520     2  0 09:57 ?        00:00:00 [kworker/u8:2]
root      6936  1225  0 11:09 ?        00:00:00 [lightdm] <defunct>
1003      7084     1  0 11:09 ?        00:00:00 /usr/bin/python /usr/share/apport/apport-gtk
1003      7475     1  0 11:10 ?        00:00:00 /usr/bin/python /usr/share/apport/apport-gtk
root      8739  1225  1 11:29 tty8     00:00:11 /usr/bin/X :1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch
root      8853  1225  0 11:29 ?        00:00:00 lightdm --session-child 13 22
1002      8943     1  0 11:30 ?        00:00:00 /usr/bin/gnome-keyring-daemon --daemonize --login
1002      8954  8853  0 11:30 ?        00:00:00 gnome-session --session=ubuntu
1002      8992  8954  0 11:30 ?        00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
1002      8995     1  0 11:30 ?        00:00:00 /usr/bin/dbus-launch --exit-with-session gnome-session --session=ubuntu
1002      8996     1  0 11:30 ?        00:00:00 //bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
1002      9007  8954  0 11:30 ?        00:00:00 /usr/lib/gnome-settings-daemon/gnome-settings-daemon
1002      9015     1  0 11:30 ?        00:00:00 /usr/lib/gvfs/gvfsd
1002      9018  8954  1 11:30 ?        00:00:07 compiz
1002      9021     1  0 11:30 ?        00:00:00 /usr/lib/x86_64-linux-gnu/gconf/gconfd-2
1002      9028  8954  0 11:30 ?        00:00:00 /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
1002      9029  8954  0 11:30 ?        00:00:01 nautilus -n
1002      9030  8954  0 11:30 ?        00:00:00 /usr/lib/gnome-settings-daemon/gnome-fallback-mount-helper
1002      9031  8954  0 11:30 ?        00:00:00 nm-applet
1002      9032  8954  0 11:30 ?        00:00:02 /opt/mTrac/mTrac
1002      9033  8954  0 11:30 ?        00:00:00 bluetooth-applet
1002      9045  9032  0 11:30 ?        00:00:00 /opt/mTrac/mTrac --type=zygote --no-sandbox
1002      9050     1  0 11:30 ?        00:00:00 /usr/lib/gvfs/gvfs-gdu-volume-monitor
1002      9054     1  0 11:30 ?        00:00:00 /usr/bin/pulseaudio --start --log-target=syslog
1002      9057     1  0 11:30 ?        00:00:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
1002      9062     1  0 11:30 ?        00:00:00 /usr/lib/gvfs/gvfs-afc-volume-monitor

içi vous pouvez voir : 

1003      6078  4953  0 09:03 pts/0    00:00:03 puma 3.6.0 (tcp://localhost:3000) [moviestore]   

localhost: 3000 ont pid: 6078

tuer ce processus par

$Sudo kill 6078  

puis courir 

$Rails s
0
Manoj RorAndr