Heim > System-Tutorial > LINUX > So töten Sie einen Prozess, der auf einem bestimmten Port unter Linux ausgeführt wird

So töten Sie einen Prozess, der auf einem bestimmten Port unter Linux ausgeführt wird

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-03-17 10:48:22
Original
889 Leute haben es durchsucht

So töten Sie einen Prozess, der auf einem bestimmten Port unter Linux ausgeführt wird

In diesem Handbuch wird festgelegt, wie Sie Linux -Prozesse identifizieren und beenden, die an bestimmte Netzwerkports gebunden sind. Dies ist entscheidend für die Fehlerbehebung nicht reagierender Anwendungen oder die Freigabe von Ports für andere Dienste. Wir werden mehrere Befehlszeilen-Tools untersuchen, um diese Aufgabe effizient zu erfüllen.

Einführung

Mehrere Prozesse können gleichzeitig Netzwerkports verwenden. Ein nicht reagierender Prozess kann die Anwendungsfunktionalität oder die Verfügbarkeit von Dienstleistungen stören, was eine Kündigung erfordert, um den besetzten Hafen freizugeben. Beispielsweise erfordert ein nicht reagierender Apache -Webserver (normalerweise mit Port 80 oder 443) eine Beendigung und Neustart, um die Zugänglichkeit der Website wiederherzustellen. Dieses Tutorial deckt mit den Befehlen fuser , lsof , netstat und ss ab, um diese Prozesse zu lokalisieren und zu beenden.

Identifizieren und Beendigen von Prozessen mit fuser

Der Befehl fuser identifiziert Prozesse mit bestimmten Dateien oder Steckdosen. Es ist Teil des psmisc -Pakets; Installieren Sie es bei Bedarf mit dem Paketmanager Ihrer Distribution (z. B. sudo apt install psmisc auf Debian/Ubuntu, sudo pacman -S psmisc unter Arch Linux).

  1. Identifizieren Sie den Prozess: Verwenden Sie fuser<port_number> /tcp</port_number> (oder /udp für UDP). Zum Beispiel zeigt fuser 8080/tcp Prozesse mit TCP -Port 8080 an.

  2. Beenden Sie den Prozess: fuser -k 8080/tcp endet mit dem TCP -Port 8080. Beachten Sie, dass Ports möglicherweise kurz nach der Beendigung in einem Zeitpunkt TIME_WAIT bleiben.

Verwenden von lsof , um Prozesse zu identifizieren und abzutöten

lsof (List Open Dateien) enthält detaillierte Informationen zu offenen Dateien und zugehörigen Prozessen.

  1. Finden Sie die Prozess -ID (PID): sudo lsof -i :<port_number></port_number> Listet Prozesse mithilfe des angegebenen Ports auf. Beispielsweise zeigt sudo lsof -i :8080 Prozesse mit Port 8080. Suchen Sie die PID.

  2. Beenden Sie den Prozess: Verwenden Sie sudo kill -9<pid></pid> ersetzen<pid></pid> mit der Prozess -ID. -9 sendet ein kraftvolles SIGKILL -Signal.

Ein-Liner- lsof -Befehl zur Kündigung:

Ein prägnanter One -Liner kombiniert Prozessidentifikation und Kündigung: kill -9 $(lsof -t -i:8080 -sTCP:LISTEN) . Dadurch wird das Hören von TCP -Port 8080 abgebrochen. Vorsichtig verwenden. SIGKILL ist kraftvoll.

netstat und ss für die Service -Kündigung

netstat und ss (Socket Statistics) zeigen Netzwerkverbindungsdetails an. ss wird im Allgemeinen für seine Effizienz und die klarere Leistung bevorzugt.

  1. Identifizieren Sie den Dienst: Verwenden Sie sudo netstat -tnlp | grep<service_name></service_name> oder sudo ss -tnlp | grep<service_name></service_name> Um die Haltung des Dienstes zu finden (z. B. grep apache ).

  2. Kündigen Sie den Dienst: Verwenden Sie sudo kill<pid></pid> oder sudo kill -9<pid></pid> Um den Prozess zu beenden.

Häufig gestellte Fragen (FAQ)

(Dieser Abschnitt bleibt vom Original weitgehend unverändert, da er wertvolle Informationen liefert.)

Abschluss

fuser , lsof , netstat und ss bieten robuste Methoden zum Verwalten von Prozessen und Ports an. Wählen Sie das Tool aus, das für Ihre Bedürfnisse am besten geeignet ist, und machten Sie immer Vorsicht, wenn Sie Prozesse gewaltsam beenden. Erinnern Sie sich an das Potenzial für einen kurzen Port -Nichtverfügbarkeit aufgrund des TIME_WAIT -Status.

Das obige ist der detaillierte Inhalt vonSo töten Sie einen Prozess, der auf einem bestimmten Port unter Linux ausgeführt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage