Dans un système d'exploitation, de nombreux programmes s'exécutent sur la RAM de l'ordinateur. Ces programmes peuvent être exécutés par le système d'exploitation lui-même ou par un utilisateur. Ces programmes sont appelés 'Processus .' Habituellement, un processus a son cycle de vie et se termine de lui-même lorsqu'il est terminé ou lorsque nous le quittons manuellement. Mais parfois, un processus peut se bloquer en raison d'une erreur de planification du processus ou d'une consommation importante de RAM ou de CPU. Dans de tels cas, nous devons arrêter les processus manuellement pour éviter un blocage inattendu de notre machine.
Linux permet à divers outils de tuer un processus errant. Afin de tuer un processus, nous devons disposer des informations sur le processus telles que PID, signal et plus encore .
Localisation des processus
Pour tuer un processus, nous devons accéder aux informations sur le processus. Il existe différentes commandes pour suivre un processus tel que haut , ps , poignée, et pidof.
Le système Linux nous permet de tuer un processus de différentes manières, comme tuer un processus par son nom ou son identifiant de processus (PID). Nous utiliserons donc les commandes ci-dessus en fonction de nos besoins.
Localisation des processus par la commande 'top'
Le haut La commande est utilisée pour répertorier tous les processus en cours d’exécution dans un système Linux. Il affiche des informations détaillées telles que le PID, le nom d'utilisateur, l'utilisation du processeur, l'heure, la commande exécutée, etc.
Pour localiser les processus, exécutez la commande comme suit :
pivot du serveur SQL
top
La commande ci-dessus affichera les processus en cours. Considérez le résultat ci-dessous :
Nous pouvons parcourir les processus en faisant défiler de haut en bas sur le terminal. La commande top fournit divers filtres pour filtrer les processus, tels que le nom du processus, l'utilisation du processeur, etc. Pour quitter la section supérieure, appuyez sur la touche 'q' clé, il vous ramènera au terminal. Cependant, nous pouvons également utiliser l'option de sortie traditionnelle en appuyant sur CTRL+C clés.
Localisation des processus par commande ps et grep
Le ps La commande est une autre façon d’afficher les informations sur le processus. De nombreuses options sont utilisées avec la commande ps, telles que aux, ce qui signifie:
un : Pour afficher les processus pour tous les utilisateurs
dans : Pour afficher les processus utilisés par un utilisateur particulier
X : Pour montrer tous les processus. Si nous ne spécifions pas l'option x, elle n'affichera pas le processus GUI.
Exécutez la commande ci-dessous pour répertorier tous les processus en cours :
ps aux
Considérez le résultat ci-dessous :
Le résultat de la commande ps est similaire à celui haut commande. Le nom du processus et le PID sont indiqués dans les deux premières colonnes, et le nom du processus est indiqué dans la colonne de droite.
La commande ps est plus utile que la commande top. Cela nous permet de filtrer la sortie avec la commande grep.
Supposons que nous souhaitions filtrer tout le processus avec le nom d'utilisateur javatpo+, exécutez la commande comme suit :
ps aux | grep javatpo+
La commande ci-dessus filtrera tous les processus spécifiés par la commande grep. Considérez le résultat ci-dessous :
La sortie ci-dessus fournit la commande ps ainsi que les fonctionnalités de la commande grep.
Localisation du processus par commande pidof et pgrep
Le pidof La commande nous permet également de localiser le processus. Si nous voulons suivre un processus par son nom, la commande pidof sera très utile. Il affiche les PID des processus lorsqu'il est utilisé avec le nom du processus.
Pour localiser le PID d'un processus, exécutez la commande pidof comme suit :
pidof process_name
Si nous avons le processus en cours avec le nom exact chrome , exécutez la commande comme suit pour obtenir ses PID.
pidof chrome
considérez le résultat ci-dessous :
Tuer un processus
Maintenant que nous avons suivi les processus, nous pouvons tuer un processus. Il existe diverses commandes utilisées pour arrêter un processus tel que tuer , tuer , haut, et pkill.
Avant de tuer un processus, il est nécessaire de savoir quels processus nous pouvons tuer. Vous trouverez ci-dessous quelques points essentiels concernant les processus de mise à mort :
- Si vous êtes un utilisateur normal, vous ne pouvez supprimer que les processus qui vous appartiennent. Vous ne pouvez pas arrêter les processus exécutés par les autres utilisateurs. Le haut et ps aux les commandes affichent les utilisateurs avec le processus associé.
- Un utilisateur root peut tuer tous les processus. Cependant, nous pouvons également ajouter sudo avant toute commande pour l'exécuter en tant que root.
- Sous Linux, lorsqu'un processus est arrêté, un signal spécial est transmis aux processus. Bien qu'il existe différents types de signaux sous Linux, dans ce cas, Linux s'occupe du SIGNES TUÉS et TERME signaux. Par défaut. Linux envoie le SIGTERM, qui termine le processus en douceur. Si vous souhaitez tuer un processus avec force, utilisez plutôt SIGKILL.
- Linux conserve l'état des processus jusqu'à ce qu'il soit complètement supprimé du système. Ainsi, les processus enfants seront affichés dans la liste des processus jusqu'à ce qu'un processus parent soit supprimé.
- Nous ne pouvons pas tuer un processus s'il est en 'un sommeil ininterrompu .' Cette situation se produit lorsqu'un processus effectue une opération d'entrée/sortie. Cet état peut être vu dans le 8èmecolonne de haut and ps aux command.
Tuer un processus par la commande killall
La commande killall est la technique la plus simple pour tuer un processus si vous connaissez le nom exact du processus, s'il n'est exécuté par aucun autre utilisateur et s'il n'est pas dans l'état Z ou D. Dans la commande kill all, il n’est pas nécessaire de localiser le processus ou le PID. Pour tuer un processus, exécutez la commande comme suit :
killall firefox
La commande ci-dessus tuera le processus et quittera le navigateur Firefox. Considérez le résultat ci-dessous :
Si la commande réussit à tuer le processus, elle ne donnera aucun résultat.
Pour forcer l'arrêt du processus, exécutez la commande killall avec -SIGKILL comme suit :
killall -SIGKILL process_name
nous pouvons également utiliser -9 au lieu de -SIGKILL.
Pour arrêter un processus de manière interactive, exécutez la commande comme suit :
killall -i process_name
Pour arrêter un processus en tant qu'utilisateur différent, exécutez la commande comme suit :
sudo killall process_name
Nous pouvons également arrêter un processus pendant une période de temps fixe en utilisant -O et -et drapeaux. Pour arrêter un processus en cours d'exécution depuis plus de 20 minutes, exécutez la commande ci-dessous : killall -o 20m process_name
Pour arrêter un processus en cours d'exécution depuis moins de 20 minutes, exécutez la commande ci-dessous :
killall -y 20m process_name
Les abréviations pour utiliser la période sont les suivantes :
secondes : s
minutes : m
heures: h
jours : j
semaines : w
mois : M
années : oui
Tuez un processus par la commande pkill
Parfois, nous ne connaissons pas le nom exact du processus ; dans ce cas, la commande pkill sera l'utilitaire le plus utile pour tuer un processus. Cela nous permet de tuer un processus en entrant le nom correspondant du processus. Par exemple, nous voulons tuer tous les processus portant le nom correspondant java, exécutez la commande comme suit :
pkill java
cela fermera tous les processus contenant le nom Java. De même, pour tuer un processus Firefox, exécutez la commande comme suit :
pkill fire
Considérez le résultat ci-dessous :
Si la commande pkill est exécutée avec succès, elle n'affichera aucune sortie.
Pour tuer un processus de force par la commande pkill, exécutez-le comme suit :
pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>
Tuez un processus par la commande kill
La commande kill est l’utilitaire le plus simple pour tuer un processus ; tout ce dont nous avons besoin est un PID d'un processus. Une fois que nous obtenons le PID du processus, c’est un processus simple. Pour terminer un processus, exécutez la commande kill suivie de PID. Pour localiser le PID d'un processus, utilisez la commande top ou ps aux, comme expliqué ci-dessus.
Pour tuer un processus ayant le PID 5296, exécutez la commande comme suit :
kill 5296
Pour terminer de force un processus, utilisez l'option -SIGKILL ou -9 :
kill -SIGKILL 5296
La commande ci-dessus mettra fin au processus ayant le PID 5296.
Tuer un processus par la commande supérieure
La commande top nous permet de localiser et de tuer le processus. C'est un processus simple pour terminer un processus en utilisant la commande top. Tout d’abord, exécutez la commande top pour localiser le processus et appuyez sur le K' pendant l'exécution de la commande. Il vous plongera dans le mode de suppression de processus, entrez le PID du processus que vous souhaitez tuer. Considérez le résultat ci-dessous :
Comme nous pouvons le voir dans le résultat ci-dessus, il existe une option ' PID à signaler/tuer ' pour tuer le processus à partir de la liste des processus ci-dessus. Tapez le PID du processus et appuyez sur ENTRER clé.
Si nous laissons le PID vide, cela mettra fin au processus le plus élevé.
Tuer un processus par le moniteur système
Nous pouvons également terminer un processus par l'environnement graphique de Linux appelé moniteur système. Pour arrêter un processus via le moniteur système, suivez les étapes ci-dessous :
Étape 1: Recherchez ou parcourez le moniteur système, appuyez sur Entrée pour l'ouvrir.
Étape 2: Il répertoriera tous les processus en cours d'exécution de votre système Linux. Considérez l'image ci-dessous :
Étape 3: Parcourez le processus et faites un clic droit sur celui que vous souhaitez mettre fin.
Étape 4: Sélectionnez l'option Tuer. Nous pouvons également utiliser le CTRL+K clés pour le tuer.