Avez-vous déjà rencontré une situation dans laquelle vous devez arrêter un processus en cours d’exécution sur un port spécifique de votre machine Linux ?

Vous craignez peut-être qu’une application que vous exécutez se comporte mal ou monopolise les ressources de votre réseau ou la puissance du processeur local. Une telle application pourrait même constituer une menace pour la sécurité que vous souhaitez éliminer.

Quelle que soit la raison, vous pouvez utiliser le fusion, lsofet netstat commandes du terminal (ainsi que tuer) pour vous aider à trouver et à tuer tout processus Linux utilisant un numéro de port. Ces commandes fonctionneront sur la plupart des systèmes d’exploitation Linux, y compris Ubuntu.

Comment tuer un processus Linux à l’aide de la commande fuser

L’un des moyens les plus simples de tuer un processus à l’aide d’un numéro de port consiste à utiliser le fusion commande. Cette commande de terminal Linux peut répertorier ou tuer les processus accédant aux fichiers ou aux sockets. Si une application s’exécute avec une activité réseau (et utilise donc un port ouvert), elle fait probablement l’une de ces deux choses.

Avant de continuer, vous devez vous assurer que vous êtes à l’aise avec un terminal de ligne de commande sur votre PC Linux.

Pour répertorier les processus qui utilisent un numéro de port à l’aide de fusionvous pouvez utiliser la syntaxe suivante :

fuser -n port de protocole

Dans cet exemple, protocole peut être TCP ou UDPalors que port est le numéro de port que vous souhaitez vérifier. Par exemple, pour voir quels processus utilisent le port TCP 80, vous pouvez exécuter :

unité de fusion -n tcp 80

Cela imprimera les ID de processus (PID) des processus utilisant ce port.

Pour tuer ces processus, vous pouvez ajouter le -k possibilité de fusion. Cela enverra un signal SIGTERM à chaque processus, leur demandant de se terminer normalement. Par exemple:

unité de fusion -k -n tcp 80

Cela tuera tous les processus utilisant le port TCP 80.

Si certains processus ne répondent pas à SIGTERM, vous pouvez utiliser -TUER au lieu de -k. Cela enverra un signal d’arrêt (SIGKILL), qui peut aider à forcer les processus en cours d’exécution que vous avez identifiés à se terminer immédiatement. Cependant, cela peut entraîner une perte ou une corruption des données, alors utilisez-le avec prudence. Par exemple:

fuser -KILL -n tcp 80

Cela tuera tous les processus utilisant le port TCP 80 avec force. Si vous rencontrez des problèmes, exécutez ces commandes en tant que super utilisateur (en utilisant le sudo commande) ou en utilisant la racine utilisateur à la place.

Comment tuer un processus Linux à l’aide de la commande lsof

Une autre façon de tuer un processus en utilisant un numéro de port sur un PC Linux est d’utiliser le lsof commande. Cette commande peut répertorier les fichiers et les sockets ouverts sur votre système.

Pour répertorier les processus qui utilisent un numéro de port spécifique, vous pouvez utiliser la syntaxe suivante :

lsof -i protocole:port

Comme avant, protocole peut être TCP ou UDPalors que port est le numéro de port que vous souhaitez vérifier. Par exemple, pour voir quels processus utilisent le port TCP 53 (généralement utilisé pour les requêtes DNS), vous pouvez exécuter cette commande :

lsof-i tcp:53

Cela imprimera des informations sur chaque processus utilisant ce port, y compris son PID.

Pour tuer ces processus, vous pouvez utiliser le -t options avec lsof. Cela n’imprimera que les PID des processus sans aucune autre information. Vous pouvez ensuite diriger cette sortie vers le tuer commande avec n’importe quelle option de signal. Par exemple:

tuer $(lsof -t -i tcp:53)

Cela enverra des signaux SIGTERM (par défaut) à tous les processus utilisant le port TCP 53.

Si certains processus ne répondent pas aux signaux SIGTERM comme avant, vous pouvez utiliser -9 au lieu de rien après tuer. Cela enverra des signaux SIGKILL comme avant, les forçant à se terminer immédiatement mais peut également entraîner une perte ou une corruption de données. Par exemple:

kill -9 $(lsof -t -i tcp:53)

Cela enverra avec force des signaux SIGKILL (par défaut) à tous les processus utilisant le port TCP 53.

Comment tuer un processus Linux à l’aide de la commande netstat

Vous pouvez également utiliser le netstat pour suivre les processus en cours d’exécution sur votre PC Linux à l’aide de ports réseau actifs et ouverts. netstat vous permet d’afficher les connexions réseau et les statistiques sur votre système, ce qui vous permet d’identifier les processus problématiques.

Pour répertorier les processus utilisant un numéro de port avec leurs PID, vous devez ajouter deux options : -pqui affiche les PID, et -lqui affiche uniquement les sockets d’écoute.

Vous devez également spécifier le protocole (tcp, udp, etc.) et éventuellement filtrer par état (LISTEN, etc.). Par exemple, pour voir quels processus TCP écoutent sur n’importe quel port, vous pouvez exécuter :

netstat -p tcp -l

Cela imprimera des informations sur chaque socket TCP écoutant sur tous les ports, y compris son PID.

Pour filtrer par ports spécifiques, vous devez ajouter une autre option : -n, qui affiche des adresses numériques au lieu de noms. Vous devez également spécifier le format d’adresse exact : [protocol][@hostname|hostaddr][:service|port].

Par exemple, pour voir quels processus TCP écoutent sur le port 80, vous pouvez exécuter :

netstat -p tcp -l -n 80

Cela imprimera des informations sur chaque socket TCP écoutant sur le port 8080, y compris son PID.

Pour tuer ces processus, vous pouvez utiliser le tuer commande avec n’importe quelle option de signal que vous voulez et les PID que vous avez obtenus de netstat. Par exemple:

tuer 1234 5678

Cela enverra des signaux SIGTERM (par défaut) aux processus avec des PID 1234 et 5678.

Si certains processus ne répondent pas aux signaux SIGTERM comme avant, vous pouvez utiliser -9 au lieu de rien après tuer. Cela enverra des signaux SIGKILL comme avant, les forçant à se terminer immédiatement mais peut entraîner une perte ou une corruption de données comme avant. Par exemple:

tuer -9 1234 5678

Cela enverra des signaux SIGKILL aux processus avec des PID 1234 et 5678 avec force, par exemple. Remplacer 1234 avec le bon PID pour votre processus en cours d’exécution.

Contrôlez vos applications Linux

Grâce aux étapes décrites ci-dessus, vous pouvez rapidement tuer un processus Linux en cours d’exécution à l’aide d’un numéro de port à l’aide de la ligne de commande Linux. N’oubliez pas d’être prudent lorsque vous tuez des processus, en particulier avec les signaux SIGKILL, car ils peuvent provoquer des effets secondaires indésirables – vous ne voulez pas provoquer d’instabilité du système, après tout.

Vous souhaitez examiner de plus près les performances de votre système sous Linux ? Vous voudrez peut-être vérifier votre utilisation de la mémoire sous Linux ensuite. Si vous craignez un risque potentiel pour la sécurité, vous pouvez également modifier votre mot de passe sous Linux.

Besoin de passer à une nouvelle distribution Linux ? Si vous êtes débutant, considérez Linux Mint comme une alternative sûre et stable.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici