{
  "id": 11957501,
  "title": "Fix: 'Address Already in Use' (Kill Stuck Process on Any Port)",
  "url": "https://urgent.news/2026/10/04/fix-address-already-in-use-kill-stuck-process-on-any-port",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-04T16:04:53.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/onelinedev/fix-address-already-in-use-kill-stuck-process-on-any-port-7ok"
  },
  "original_language": "en",
  "account": "When attempting to launch a local server using Node, Python, Go, or Docker, developers may encounter the error message \"Error: listen EADDRINUSE: address already in use :::3000\" (or \"bind: address already in use :8080\"). This issue arises when an orphaned background process or a crashed terminal session fails to release the TCP socket, causing the operating system to prevent two applications from listening on the same port simultaneously.\n\nFor Linux and macOS users, a quick solution is to use the one-liner command \"npx kill-port 3000\" (replace 3000 with the blocked port number). Alternatively, they can opt for native terminal alternatives such as using the \"fuser\" command or the \"lsof\" command followed by killing the process with \"kill -9\".\n\nWindows users have a similar one-liner fix available in PowerShell: \"Stop-Process -Id (Get-NetTCPConnection -LocalPort 3000) -Force\". In Command Prompt, users can first find the Process ID (PID) by running \"netstat -ano | findstr :3000\" and then terminate the process using \"taskkill /PID PID /F\" (replace PID with the corresponding number).\n\nTo avoid encountering this problem frequently during development, it's recommended to install the \"kill-port\" package globally. With this package, developers can easily terminate any port from any terminal in just one second, ensuring a smoother workflow.",
  "summary": "The Error You start your local server (Node, Python, Go, Docker) and get stopped in your tracks: Error: listen EADDRINUSE: address already in use :::3000 (or bind: address already in use :8080 ) Why It Happens An orphaned background process or crashed terminal session didn't release the TCP socket. Your operating system prevents two applications from listening on the exact same port…",
  "key_points": [
    "\"Address already in use\" error occurs when a port is occupied by another process.",
    "Linux/macOS users can use \"npx kill-port\" to terminate the stuck process.",
    "Windows users can use PowerShell's \"Stop-Process\" command to fix the issue."
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}