Fix Python Socket Error 48
Socket Error 48 is een python-fout die wordt geactiveerd wanneer het proces zichzelf probeert te binden aan een poort die al in gebruik is.
Wat veroorzaakt de fout "socket.error: [Errno 48] Adres al in gebruik"?
Na kort onderzoek hebben we vastgesteld dat de oorzaken zijn:
Oplossing 1: poortnummer specificeren
De fout wordt meestal geactiveerd wanneer een persoon probeert een specifiek proces aan de standaardpoort te koppelen en de standaardpoort al aan een ander proces is gebonden. Daarom zullen we in deze stap de poort specificeren waarop het proces moet worden begrensd.
- De kans is groot dat u de volgende opdracht gebruikt om een proces te maken.
$ python -m SimpleHTTPServer
- Gebruik in plaats daarvan deze opdracht om een proces te maken.
$ python -m SimpleHTTPServer (poortnummer)
- Wacht tot het proces is gemaakt en controleer of het probleem zich blijft voordoen.
Oplossing 2: de poort vrijmaken
Als het haven al in gebruik is door een ander proces, kan het nieuwe proces niet werken op die poort. Daarom zullen we in deze stap de poort vrijmaken door het vorige proces te beëindigen en vervolgens het nieuwe proces uit te voeren. Daarom:
- Gebruik de volgende opdracht om een aantal processen weer te geven die een specifieke poort gebruiken.
$ ps -fA | grep python
- Het commando-argument ziet er ongeveer uit als de volgende regels.
601 88234 12788 0 21:53 ttys000 0: 00.16 python -m SimpleHTTPServer
- Hiervan is de procescode die we zullen gebruiken om te doden “88234”.
- Gebruik de volgende opdracht om het proces te beëindigen.
vermoord 88234
Als alternatief kunt u de volgende opdracht gebruiken om het te doden.
sudo kill -9 PID
- U kunt het proces nu aan deze poort binden door de volgende opdracht te gebruiken.
$ python -m SimpleHTTPServer (poortnummer)
- Het proces wordt nu gemaakt.
Oplossing 3: Raspberry Pi opnieuw opstarten (alleen voor Raspberry Pi)
U kunt deze fout verhelpen op Raspberry Pi door de Raspberry Pi opnieuw op te starten of door de terminalshell te doden. De Raspberry Pi is soms niet in staat om de processen automatisch te beëindigen en activeert deze fout vanwege de eerdere processen die al op de poorten draaien.