Skip to content
Go back

Finding the PID of a Process Using a Specific Port in Linux

By SumGuy 3 min read
Finding the PID of a Process Using a Specific Port in Linux

In Linux, managing network services and troubleshooting network issues often require you to identify which processes are listening on specific ports. This is crucial for system administrators, especially when dealing with conflicts or security audits. Here, we’ll explore various methods to find the Process ID (PID) of a process using a specific port.

Method 1: Using netstat

netstat (network statistics) is a command-line tool that displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships. Although it’s been replaced by more modern tools like ss, it’s still widely used and available in most Linux distributions.

Command:

netstat -ltnp | grep ':PORT'

Example: To find the PID of the process listening on port 8080:

netstat -ltnp | grep ':8080'

Output:

tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1234/process_name

Here, 1234 is the PID of the process.

Method 2: Using ss

ss (socket statistics) is a utility to investigate sockets. It’s faster and provides more information than netstat.

Command:

ss -ltnp | grep ':PORT'

Example: To find the PID of the process using port 8080:

ss -ltnp | grep ':8080'

Output:

LISTEN 0 128 *:8080 *:* users:(("process_name",pid=1234,fd=7))

Here, 1234 is the PID.

Method 3: Using lsof

lsof (List Open Files) is a powerful command used to list information about files opened by processes. An open “file” can be a regular file, a directory, a block device, a network socket, etc.

Command:

lsof -i :PORT

Example: To find the PID of the process using port 8080:

lsof -i :8080

Output:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
process_name 1234 user 7u IPv4 12345 0t0 TCP *:http-alt (LISTEN)

Here, 1234 is the PID.

For Linux system administrators, knowing how to find the PID of a process using a specific port is essential for managing services and resolving conflicts. The ss command is recommended for modern systems due to its speed and detailed output, but netstat and lsof are also valuable tools depending on your specific needs and system configuration.

Each method has its strengths, and choosing the right one depends on your specific requirements and the details you need about the processes and their network activities.


Share this post on:

Send a Webmention

Written about this post on your own site? Send a webmention and it'll show up above once verified.


Previous Post
Preserving Bash History in Multiple Terminal Windows
Next Post
Differences Between nohup, disown, and & in Linux

Discussion

Powered by Garrul . Sign in with GitHub or Google, or post anonymously.

Related Posts