Fix Python Socket-fejl 48
Socket Error 48 er en python-fejl, der udløses, når processen forsøger at binde sig til en port, der allerede er i brug.
Hvad forårsager "socket.error: [Errno 48] Adresse allerede i brug" Fejl?
Efter kort undersøgelse fandt vi årsagerne til at være:
Løsning 1: Angivelse af portnummer
Fejlen udløses for det meste, når en person forsøger at binde en bestemt proces til standardporten, og standardporten allerede er bundet til en anden proces. Derfor specificerer vi i dette trin den port, som processen skal afgrænses på.
- Chancerne er, at du bruger følgende kommando til at oprette en proces.
$ python -m SimpleHTTPServer
- I stedet for dette skal du bruge denne kommando til at oprette en proces.
$ python-m SimpleHTTPServer (portnummer)
- Vent på, at processen oprettes, og kontroller, om problemet fortsætter.
Løsning 2: Frigørelse af havnen
Hvis den Havn er allerede i brug af en anden proces, vil den nye proces ikke kunne fungere på den port. Derfor frigør vi i dette trin havnen ved at afslutte den forrige proces og derefter køre den nye. For det:
- Brug følgende kommando til at liste et antal processer ved hjælp af en bestemt port.
$ ps -fA | grep python
- Kommandoargumentet vil se ud som de følgende linjer.
601 88234 12788 0 21:53 ttys000 0: 00.16 python -m SimpleHTTPServer
- Ud af dette er den proceskode, som vi vil bruge til at dræbe, "88234".
- Brug følgende kommando til at dræbe processen.
dræb 88234
Alternativt kan du bruge følgende kommando til at dræbe den.
sudo kill -9 PID
- Du kan nu binde processen til denne port ved hjælp af følgende kommando.
$ python-m SimpleHTTPServer (portnummer)
- Processen oprettes nu.
Løsning 3: Genstart af Raspberry Pi (kun til Raspberry Pi)
Du kan slippe af med denne fejl den Hindbær Pi ved at genstarte Raspberry Pi eller ved at dræbe terminalskallen. Raspberry Pi er undertiden ikke i stand til at dræbe processerne automatisk og udløser denne fejl på grund af de tidligere processer, der allerede kører på portene.