Pylônes: adresse déjà utilisée en essayant de servir

Je lance des pylônes et je l’ai fait: le serveur de développement: le développement.ini Il tourne sur: 5000

Mais quand j’essaie de relancer la commande: paster serve development.ini

Je reçois ce message: socket.error: [Errno 98] Adresse déjà utilisée

Des idées?

Normalement, cela signifie qu’il est toujours en cours d’exécution, mais cela ne devrait arriver que s’il est en mode démon. Après l’avoir démarré, obtenez-vous une invite de commande ou devez-vous l’arrêter avec Ctrl-C?

Si vous recevez une invite de commande, il est en mode Deamon et vous devez l’arrêter avec

paster server development.ini stop 

Si vous l’avez arrêté avec Ctrl-C (et pas Ctrl-Z bien sûr), je n’en ai aucune idée.

J’ai trouvé cette astuce dans un forum:

Cela tuera tous les programmes écoutant le port 5000

 kill -9 `fuser -n tcp 5000` 

Si j’ai bien compris votre question, vous lancez une application pour écouter sur le port 5000. Puis, sans l’arrêter (?), Vous essayez de démarrer une autre instance pour écouter sur le même port? Si oui, vous ne réussirez pas.

Vous pouvez toujours vérifier quelle application écoute sur quel numéro de port en utilisant netstat (pour les systèmes Windows et UNIX, je n’ai aucune expérience avec les autres).

Cela m’est également arrivé lorsque le serveur est mort de manière inattendue et n’a pas fermé correctement le socket. Essentiellement, le socket est toujours répertorié comme ouvert avec le système d’exploitation, même si le processus est mort. J’ai constaté que si j’attend 30 à 60 secondes, le système d’exploitation réalisera que le processus associé est mort et qu’il nettoie automatiquement les sockets.

votre port par défaut 8080 utilise. vous devez append ‘-p 10000’ après la commande pour prendre le port 10000

naturellement netstat ( netstat -an | grep 5000 fait le tour sur Linux). Va saisir le port

Cependant, j’ai trouvé cette autre question avec la même erreur.

Python [Errno 98] Adresse déjà utilisée

 sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 

Essentiellement, Python prend trop de temps pour ouvrir le socket.

J’ai essayé toutes les réponses relevées ici mais personne ne travaille pour moi. Mais cette commande ci-dessous fait l’affaire.

 sudo kill $(sudo lsof -t -i:5000) 

Cela tuerait le processus qui écoute sur le port 5000 .