Home > System Tutorial > LINUX > How To Kill A Process Running On A Specific Port In Linux

How To Kill A Process Running On A Specific Port In Linux

尊渡假赌尊渡假赌尊渡假赌
Release: 2025-03-17 10:48:22
Original
879 people have browsed it

How To Kill A Process Running On A Specific Port In Linux

This guide details how to identify and terminate Linux processes bound to specific network ports. This is crucial for troubleshooting unresponsive applications or freeing ports for other services. We'll explore several command-line tools to accomplish this task efficiently.

Introduction

Multiple processes can concurrently utilize network ports. An unresponsive process can disrupt application functionality or service availability, necessitating termination to release the occupied port. For example, an unresponsive Apache web server (typically using port 80 or 443) requires termination and restarting to restore website accessibility. This tutorial covers using fuser, lsof, netstat, and ss commands to locate and terminate these processes.

Identifying and Terminating Processes with fuser

The fuser command identifies processes using specific files or sockets. It's part of the psmisc package; install it if needed using your distribution's package manager (e.g., sudo apt install psmisc on Debian/Ubuntu, sudo pacman -S psmisc on Arch Linux).

  1. Identify the process: Use fuser <port_number>/tcp</port_number> (or /udp for UDP). For instance, fuser 8080/tcp shows processes using TCP port 8080.

  2. Terminate the process: fuser -k 8080/tcp terminates processes using TCP port 8080. Note that ports may remain in a TIME_WAIT state briefly after termination.

Using lsof to Identify and Kill Processes

lsof (list open files) provides detailed information about open files and associated processes.

  1. Find the process ID (PID): sudo lsof -i :<port_number></port_number> lists processes using the specified port. For example, sudo lsof -i :8080 shows processes using port 8080. Locate the PID.

  2. Terminate the process: Use sudo kill -9 <pid></pid>, replacing <pid></pid> with the process ID. -9 sends a forceful SIGKILL signal.

One-liner lsof Command for Termination:

A concise one-liner combines process identification and termination: kill -9 $(lsof -t -i:8080 -sTCP:LISTEN). This kills processes listening on TCP port 8080. Use cautiously; SIGKILL is forceful.

netstat and ss for Service Termination

netstat and ss (socket statistics) display network connection details. ss is generally preferred for its efficiency and clearer output.

  1. Identify the service: Use sudo netstat -tnlp | grep <service_name></service_name> or sudo ss -tnlp | grep <service_name></service_name> to find the PID of the service (e.g., grep apache).

  2. Terminate the service: Use sudo kill <pid></pid> or sudo kill -9 <pid></pid> to terminate the process.

Frequently Asked Questions (FAQ)

(This section remains largely unchanged from the original, as it provides valuable information.)

Conclusion

fuser, lsof, netstat, and ss offer robust methods for managing processes and ports. Choose the tool best suited for your needs and always exercise caution when forcefully terminating processes. Remember the potential for brief port unavailability due to the TIME_WAIT state.

The above is the detailed content of How To Kill A Process Running On A Specific Port In Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template