Lors de la création d'une application Flask, j'ai eu l'erreur de titre lorsque j'ai modifié le module plusieurs fois avec le serveur en cours d'exécution.
OSError: [Errno 98] Address already in use
Le message reste, mais il semble que "je ne peux pas utiliser l'adresse que j'essaie d'utiliser maintenant parce que je l'utilise déjà ailleurs". Dans un tel cas, recherchez le message d'erreur en supposant que le port est plein.
À la suite de la recherche, les articles suivants ont été consultés. https://qiita.com/ringCurrent/items/2413c795372baa7b479d
Les numéros d'erreur sont différents entre «48» et «98», mais c'est probablement une différence environnementale, donc je vais mettre en œuvre la solution sans m'en soucier.
(base) root@e8cf64ce12e9:/home/continuumio# lsof -i :5000
bash: lsof: command not found
Installez rapidement. (Utilisez apt car le système d'exploitation est ubuntu)
(base) root@e8cf64ce12e9:/home/continuumio# apt install lsof
Reading package lists... Done
main.py
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000, debug=True)
Vérifiez le processus utilisant le port 5000 avec la commande lsof (Notez que si vous ne limitez pas la cible avec l'option -i, une grande quantité sera extraite)
(base) root@e8cf64ce12e9:/home/continuumio# lsof -i :5000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 881 root 4u IPv4 237229 0t0 TCP *:5000 (LISTEN)
python 901 root 4u IPv4 237229 0t0 TCP *:5000 (LISTEN)
python 901 root 5u IPv4 237229 0t0 TCP *:5000 (LISTEN)
--kill end commande. Nom bruyant. --- 9 Résiliation forcée -: numéro de port Xxxx
Vérifiez les détails avec la "commande man"
(base) root@e8cf64ce12e9:/home/continuumio# kill -9 901
c'est tout
Recommended Posts