Cara Cepat Mengatasi Error "Port Already in Use" (EADDRINUSE) di Linux & Windows
Assalamualaikum Wr. Wb.
Cara Cepat Mengatasi Error "Port Already in Use" (EADDRINUSE) di Linux & Windows | Bebaskan Port Macet Tanpa Perlu Restart Komputer | Sedang asyik ngoding atau baru mau menjalankan server lokal dengan perintah npm run dev atau menyalakan container Docker, tiba-tiba terminal memuntahkan pesan error merah bertuliskan "Error: listen EADDRINUSE: address already in use :::3000"? Masalah Port Conflict ini terjadi ketika port jaringan (seperti port 3000 untuk Next.js, port 80/443 untuk Web Server, port 8080 untuk Web UI, atau port 5432 untuk PostgreSQL) masih tersangkut dan dikunci oleh proses aplikasi lama (*zombie process*) yang tidak tertutup sempurna di latar belakang. Jangan buru-buru merestart laptop anda, kali ini admin akan membagikan trik kilat melacak dan membebaskan port yang tersangkut dalam hitungan detik yang dijamin work 100%.
1. Melacak Nomor PID Pemakai Port (Metode Lsof & Netstat)
Sebelum mematikan proses, kita perlu tahu aplikasi atau file mana yang sedang mengunci nomor port tersebut dengan melihat nomor **PID (Process ID)**-nya:
- Di Linux / macOS: Buka terminal dan ketikkan perintah
sudo lsof -i :3000(ganti angka 3000 dengan nomor port yang bentrok). - Lihat kolom bertuliskan PID (misalnya muncul nomor PID
4821dengan commandnode). - Di Windows (PowerShell / CMD): Ketikkan perintah
netstat -ano | findstr :3000, lalu catat nomor PID di kolom paling kanan.
2. Cara Mematikan Paksa Proses yang Tersangkut (Kill PID)
Setelah mendapatkan nomor PID-nya, matikan proses tersebut agar port kembali berstatus bebas (*free*):
# 1. Matikan paksa proses di Linux / macOS (misal PID: 4821):
sudo kill -9 4821
# 2. Matikan paksa proses di Windows PowerShell / CMD:
taskkill /PID 4821 /F
3. Jurus Kilat 1 Detik di Linux: Perintah Fuser (Tanpa Perlu Cari PID)
Jika anda tidak mau repot mencari nomor PID satu per satu, Linux memiliki perintah sakti bernama fuser yang bisa langsung mencari sekaligus membunuh proses di port tersebut seketika:
# Format: sudo fuser -k [nomor_port]/tcp
# Contoh membebaskan port 3000 dan port 8080:
sudo fuser -k 3000/tcp
sudo fuser -k 8080/tcp
Opsi -k (kill) akan secara otomatis membersihkan seluruh proses yang mendengarkan (*listening*) di port tersebut. Setelah itu, jalankan kembali npm run dev dan server lokal anda akan langsung menyala normal tanpa error.
Itulah solusi praktis dan cepat mengatasi error Port Already in Use. Trik fuser -k ini adalah salah satu shortcut yang paling sering saya gunakan sehari-hari saat berpindah-pindah projek web development agar tidak membuang waktu.
Sekian tutorial kali ini, silahkan share artikel ini jika anda rasa bermanfaat untuk teman-teman developer atau rekan satu tim koding anda.
Semoga Bermanfaat ^_^
Terima Kasih.
Wassalamualaikum Wr. Wb.
Sumber gambar: Koleksi Pribadi / Analisis Troubleshooting Server Jaringan

0 Komentar
Posting Komentar
Pengunjung yang baik selalu meninggalkan komentar
Silahkan berikan komentar/kritik/saran tentang artikel ini untuk kemajuan blog ini,
Mohon untuk tidak berkomentar berbau SARA, Pornografi, Spam, dan kata-kata kasar agar tidak terjadi kesalah pahaman disini.
Terima Kasih