DEV Community

Stephen Akugbe
Stephen Akugbe

Posted on

How to Kill a Process Occupying a Port on Windows, macOS, and Linux

As a developer, I often run into issues where a process is already using a port that my application needs. This can prevent my application from starting or cause conflicts. I'm writing this article as a quick reference for myself, but I hope it can help others who face the same issue. I'll walk you through how to identify and kill a process occupying a specific port on Windows, macOS, and Linux.

Step 1: Finding and Killing the Process on Windows
First, let's look at how to do this on Windows.

Finding the Process ID (PID)
To identify the process using a specific port (e.g., 5672), use the netstat command in the Command Prompt.

netstat -ano | findstr :5672
Enter fullscreen mode Exit fullscreen mode

This will display something like:

TCP    127.0.0.1:5672      0.0.0.0:0          LISTENING       1234
Enter fullscreen mode Exit fullscreen mode

Here, 1234 is the PID of the process using port 5672.

Killing the Process
To kill the process, use the taskkill command with the PID obtained above.

taskkill /PID 1234 /F
Enter fullscreen mode Exit fullscreen mode

Replace 1234 with the actual PID. The /F flag forces the termination of the process.

Step 2: Finding and Killing the Process on macOS and Linux
On macOS and Linux, the process is slightly different but follows the same basic steps.

Finding the Process ID (PID)
Use the lsof command to find the process using the port. For example, to find the process using port 5672:

sudo lsof -i :5672
Enter fullscreen mode Exit fullscreen mode

This will display output similar to:

COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node     1234 user   23u  IPv4 0x8a96d8      0t0  TCP *:5672 (LISTEN)
Enter fullscreen mode Exit fullscreen mode

In this example, 1234 is the PID of the process using port 5672.

Killing the Process
To kill the process, use the kill command with the PID:

kill -9 1234
Enter fullscreen mode Exit fullscreen mode

Replace 1234 with the actual PID. The -9 flag sends the SIGKILL signal, forcibly terminating the process.

Why This Is Useful
As developers, we often need to free up ports for new applications or resolve conflicts where multiple applications try to use the same port. This method provides a quick and straightforward way to manage processes on various operating systems, ensuring your development environment runs smoothly.

Caution
Always ensure you know the process before terminating it. Killing essential system processes or those that are performing critical operations can lead to system instability or data loss.

Top comments (0)