ผู้ใช้ Mac อาจพบสถานการณ์ที่กระบวนการล็อกพอร์ตในบางครั้ง ทำให้แอปหรือกระบวนการอื่นใช้พอร์ตนั้นไม่ได้ หากคุณเจอสถานการณ์ดังกล่าว เช่น คุณอาจกำลังพยายามใช้ React.js และพบว่ามีบางอย่างกำลังทำงานบนพอร์ต 3000 อยู่แล้ว คุณสามารถติดตามได้อย่างง่ายดายว่ากระบวนการใดกำลังใช้พอร์ตบน Mac โดย หันไปใช้บรรทัดคำสั่ง

เราจะแสดงวิธีค้นหาและฆ่ากระบวนการที่ล็อกพอร์ตบน MacOS

วิธีค้นหาว่ากระบวนการใดล็อกพอร์ตบน Mac

ไวยากรณ์ที่จะใช้จะเป็นดังต่อไปนี้ โดยแทนที่ PORTNUMBER ด้วยหมายเลขพอร์ตที่คุณต้องการค้นหากระบวนการโดยใช้:

sudo lsof-i:PORTNUMBER

ตัวอย่างเช่น เพื่อค้นหากระบวนการโดยใช้พอร์ต 445:

sudo lsof-i:445

หรือค้นหากระบวนการโดยใช้และล็อคพอร์ต 3000:
sudo lsof-i:3000

วิธีค้นหาและฆ่ากระบวนการที่ล็อกพอร์ตบน Mac

เมื่อคุณมี PID (รหัสกระบวนการ) จากเอาต์พุตคำสั่งของ lsof แล้ว คุณสามารถออกจากแอป ปิดบริการ หรือยุติกระบวนการนั้น เพื่อปลดปล่อยและทำให้พอร์ตที่ถูกล็อคว่าง

วิธีที่ง่ายที่สุดในการฆ่ากระบวนการคือการใช้คำสั่ง kill:

kill-9 PID

ตัวอย่างเช่น หาก ID กระบวนการที่ใช้พอร์ต 3000 คือ “8384” คุณควรใช้ไวยากรณ์คำสั่งต่อไปนี้:

kill-9 8384

หากกระบวนการนี้ เจ้าของรูท ผู้ดูแลระบบ หรือผู้ใช้รายอื่น คุณต้องนำหน้าคำสั่งด้วย sudo:

sudo kill-9 8384

สำหรับสิ่งที่คุ้มค่า คำสั่ง lsof ที่ใช้ที่นี่ มุ่งเน้นไปที่ Mac แต่จะใช้งานได้เหมือนกันใน linux เช่นกัน

เราถือว่าคุณมีความรู้บางอย่างเกี่ยวกับบรรทัดคำสั่ง แต่แน่นอนว่าถ้าคุณไม่มี คุณก็คงไม่มาที่นี่ตั้งแต่แรก หรือกังวลเกี่ยวกับสิ่งที่กำลังใช้หรือล็อคพอร์ต.

มีวิธีอื่นในการทำเช่นนี้ แต่เห็นได้ชัดว่าเรากำลังใช้คำสั่ง lsof ซึ่งมีประสิทธิภาพมาก และยังสามารถใช้เพื่อค้นหาสิ่งที่กำลังฟังอยู่บนพอร์ต TCP เพื่อค้นหาว่าแอปใดบ้าง หรือกระบวนการกำลังโต้ตอบกับไฟล์เฉพาะ เพื่อค้นหากระบวนการทั้งหมดโดยใช้การเชื่อมต่ออินเทอร์เน็ต และอื่นๆ

คุณมีวิธีอื่นในการพิจารณาว่ากระบวนการใดกำลังล็อกหรือใช้พอร์ตใดพอร์ตหนึ่งหรือไม่ แบ่งปันแนวทางของคุณกับเราในความคิดเห็นด้านล่าง

ที่เกี่ยวข้อง

Categories: IT Info