Fix Python Socket Error 48
Socket Error 48 är ett pythonfel som utlöses när processen försöker binda sig till en port som redan används.
Vad orsakar “socket.error: [Errno 48] Adressen redan används” Fel?
Efter kort forskning fann vi orsakerna till att vara:
Lösning 1: Ange portnummer
Felet utlöses oftast när en person försöker binda en viss process till standardporten och standardporten redan är bunden till en annan process. I detta steg kommer vi därför att specificera porten som processen ska begränsas till.
- Chansen är att du använder följande kommando för att skapa en process.
$ python -m SimpleHTTPServer
- Använd det här kommandot istället för detta för att skapa en process.
$ python -m SimpleHTTPServer (portnummer)
- Vänta tills processen skapas och kontrollera om problemet kvarstår.
Lösning 2: Frigör porten
Om hamn redan används av en annan process kommer den nya processen inte att kunna fungera på den porten. I detta steg kommer vi därför att frigöra porten genom att avsluta den tidigare processen och sedan köra den nya. För det:
- Använd följande kommando för att lista ett antal processer med en specifik port.
$ ps -fA | grep python
- Kommandoargumentet ser ungefär ut som följande rader.
601 88234 12788 0 21:53 ttys000 0: 00.16 python -m SimpleHTTPServer
- Utifrån detta är processkoden som vi kommer att använda för att döda ”88234”.
- Använd följande kommando för att döda processen.
döda 88234
Alternativt kan du använda följande kommando för att döda det.
sudo kill -9 PID
- Du kan nu binda processen till den här porten med följande kommando.
$ python -m SimpleHTTPServer (portnummer)
- Processen kommer nu att skapas.
Lösning 3: Starta om Raspberry Pi (endast för Raspberry Pi)
Du kan bli av med detta fel den Raspberry Pi genom att starta om Raspberry Pi eller genom att döda terminalskalet. Raspberry Pi kan ibland inte döda processerna automatiskt och utlöser detta fel på grund av de tidigare processerna som redan körs på portarna.