Socket Error 48 เป็นข้อผิดพลาด python ซึ่งถูกทริกเกอร์เมื่อกระบวนการพยายามผูกตัวเองกับพอร์ตที่ใช้งานอยู่แล้ว
เซิร์ฟเวอร์
อะไรทำให้เกิดข้อผิดพลาด“ socket.error: [Errno 48] ที่อยู่ที่ใช้งานแล้ว”
หลังจากการวิจัยสั้น ๆ เราพบว่าสาเหตุคือ:
- กระบวนการผูกพันกับพอร์ต: เมื่อใดก็ตามที่กระบวนการถูกสร้างขึ้นบนเซิร์ฟเวอร์พอร์ตจะถูกใช้เพื่อสื่อสารกับอินเทอร์เน็ต ท่าเรือเปรียบเสมือนโฮสต์ที่สามารถเลี้ยงแขกได้ทีละคน อย่างไรก็ตามหากคุณไม่ได้ระบุพอร์ตเซิร์ฟเวอร์จะสร้างขึ้นบนพอร์ตเริ่มต้น ในครั้งต่อไปที่คุณสร้างกระบวนการจำเป็นต้องระบุพอร์ตเนื่องจากพอร์ตดีฟอลต์ถูกใช้งานอยู่แล้ว
โซลูชันที่ 1: การระบุหมายเลขพอร์ต
ข้อผิดพลาดส่วนใหญ่จะเกิดขึ้นเมื่อบุคคลพยายามผูกกระบวนการเฉพาะกับพอร์ตเริ่มต้นและพอร์ตเริ่มต้นถูกผูกไว้กับกระบวนการอื่นแล้ว ดังนั้นในขั้นตอนนี้เราจะระบุพอร์ตที่กระบวนการจะถูก จำกัด ไว้
- เป็นไปได้ว่าคุณกำลังใช้คำสั่งต่อไปนี้เพื่อสร้างกระบวนการ
$ python -m SimpleHTTPServer
- แทนที่จะใช้สิ่งนี้ให้ใช้คำสั่งนี้เพื่อสร้างกระบวนการ
$ python -m SimpleHTTPServer (หมายเลขพอร์ต)
- รอให้กระบวนการสร้างขึ้นและตรวจสอบเพื่อดูว่าปัญหายังคงมีอยู่หรือไม่
โซลูชันที่ 2: การเพิ่มพอร์ต
ถ้า ท่าเรือ มีการใช้งานโดยกระบวนการอื่นกระบวนการใหม่จะไม่สามารถทำงานบนพอร์ตนั้นได้ ดังนั้นในขั้นตอนนี้เราจะทำให้พอร์ตว่างโดยการยุติกระบวนการก่อนหน้านี้จากนั้นเรียกใช้กระบวนการใหม่ สำหรับการที่:
- ใช้คำสั่งต่อไปนี้เพื่อแสดงรายการกระบวนการต่างๆโดยใช้พอร์ตเฉพาะ
$ ps -fA | grep python
- อาร์กิวเมนต์คำสั่งจะมีลักษณะคล้ายกับบรรทัดต่อไปนี้
601 88234 12788 0 21:53 น. ttys000 0: 00.16 python -m SimpleHTTPServer
- จากนี้รหัสกระบวนการที่เราจะใช้เพื่อฆ่าคือ“ 88234”
- ใช้คำสั่งต่อไปนี้เพื่อฆ่ากระบวนการ
ฆ่า 88234
หรือคุณสามารถใช้คำสั่งต่อไปนี้เพื่อฆ่ามัน
sudo ฆ่า -9 PID
- ตอนนี้คุณสามารถผูกกระบวนการกับพอร์ตนี้ได้โดยใช้คำสั่งต่อไปนี้
$ python -m SimpleHTTPServer (หมายเลขพอร์ต)
- ตอนนี้กระบวนการจะถูกสร้างขึ้น
โซลูชันที่ 3: รีสตาร์ท Raspberry Pi (สำหรับ Raspberry Pi เท่านั้น)
คุณสามารถกำจัดข้อผิดพลาดนี้ได้ใน ราสเบอร์รี่ Pi โดยการรีสตาร์ท Raspberry Pi หรือโดยการฆ่าเทอร์มินัลเชลล์ Raspberry Pi บางครั้งไม่สามารถฆ่ากระบวนการโดยอัตโนมัติและทริกเกอร์ข้อผิดพลาดนี้เนื่องจากกระบวนการก่อนหน้านี้ทำงานบนพอร์ตแล้ว
อ่าน 1 นาที