Il s’agit d’un article classique de la Linux.com les archives. Pour plus d’excellents conseils et techniques sur SysAdmin, consultez notre cours d’introduction à Linux et notre L’essentiel de la formation en ligne sur l’administration système

Imaginez ceci : vous avez lancé une application (que ce soit à partir de votre menu de bureau préféré ou à partir de la ligne de commande) et vous commencez à utiliser cette application lancée, uniquement pour la voir se verrouiller sur vous, arrêter de fonctionner ou mourir de manière inattendue. Vous essayez à nouveau d’exécuter l’application, mais il s’avère que l’original ne s’est jamais complètement arrêté.

Que fais-tu? Vous tuez le processus. Mais comment? Croyez-le ou non, votre meilleur pari réside le plus souvent dans la ligne de commande. Heureusement, Linux dispose de tous les outils nécessaires pour vous permettre, en tant qu’utilisateur, de tuer un processus errant. Cependant, avant de lancer immédiatement cette commande pour tuer le processus, vous devez d’abord savoir quel est le processus. Comment vous occupez-vous de cette tâche en couches ? C’est en fait assez simple… une fois que vous connaissez les outils à votre disposition.

Permettez-moi de vous présenter ces outils.

Les étapes que je vais décrire fonctionneront sur presque toutes les distributions Linux, qu’il s’agisse d’un ordinateur de bureau ou d’un serveur. Je traiterai strictement avec la ligne de commande, alors ouvrez votre terminal et préparez-vous à taper.

Publicité

Localiser le processus

La première étape pour tuer le processus qui ne répond pas est de le localiser. Il y a deux commandes que j’utilise pour localiser un processus : Haut et ps. Top est un outil que tout administrateur devrait connaître. Avec Haut, vous obtenez une liste complète des processus en cours d’exécution. A partir de la ligne de commande, lancez Haut pour voir une liste de vos processus en cours d’exécution (Figure 1).

Figure 1 : La commande du haut vous donne de nombreuses informations.

De cette liste, vous verrez des informations assez importantes. Disons, par exemple, que Chrome ne répond plus. Selon nos Haut display, nous pouvons discerner qu’il existe quatre instances de chrome en cours d’exécution avec les ID de processus (PID) 3827, 3919, 10764 et 11679. Cette information sera importante avec une méthode particulière pour tuer le processus.

Bien que Haut est incroyablement pratique, ce n’est pas toujours le moyen le plus efficace d’obtenir les informations dont vous avez besoin. Disons que vous savez que le processus Chrome est ce que vous devez tuer, et que vous ne voulez pas avoir à parcourir les informations en temps réel offertes par Haut. Pour cela, vous pouvez utiliser le ps commande et filtrer la sortie à travers grep. le ps commande rapporte un instantané d’un processus en cours et grep imprime des lignes correspondant à un motif. La raison pour laquelle nous filtrons ps par grep est simple : si vous émettez le ps commande par elle-même, vous obtiendrez une liste instantanée de tous les processus en cours. Nous voulons uniquement la liste associée à Chrome. Donc cette commande ressemblerait à :

ps aux | grep chrome

le aux les options sont les suivantes :

a = afficher les processus pour tous les utilisateurs

u = afficher l’utilisateur/propriétaire du processus

x = afficher également les processus non attachés à un terminal

le X L’option est importante lorsque vous recherchez des informations concernant une application graphique.

Lorsque vous exécutez la commande ci-dessus, vous recevrez plus d’informations que nécessaire (Figure 2) pour tuer un processus, mais c’est parfois plus efficace que d’utiliser top.

Figure 2 : Localisation des informations nécessaires avec la commande ps.

Tuer le processus

Nous arrivons maintenant à la tâche de tuer le processus. Nous avons deux informations qui nous aideront à tuer le processus errant :

Nom du processus ID du processus

Ce que vous utilisez déterminera la commande utilisée pour la terminaison. Il y a deux commandes utilisées pour tuer un processus :

kill – Tuer un processus par ID killall – Tuer un processus par son nom

Il existe également différents signaux qui peuvent être envoyés aux deux commandes d’élimination. Le signal que vous envoyez sera déterminé par les résultats que vous attendez de la commande kill. Par exemple, vous pouvez envoyer le signal HUP (raccrocher) à la commande kill, ce qui redémarrera efficacement le processus. C’est toujours un choix judicieux lorsque vous avez besoin que le processus redémarre immédiatement (comme dans le cas d’un démon). Vous pouvez obtenir une liste de tous les signaux qui peuvent être envoyés à la commande kill en exécutant kill -l. Vous trouverez un assez grand nombre de signaux (Figure 3).

Figure 3 : Les signaux de mise à mort disponibles.

Les signaux de mise à mort les plus courants sont :

Nom du signal

Valeur unique

Effet

S’INSCRIRE

1

Raccrocher

SIGINT

2

Interruption depuis le clavier

SIGKILL

9

Signal de mise à mort

SIGTERM

15

Signal de terminaison

SIGSTOP

17, 19, 23

Arrêter le processus

Ce qui est bien, c’est que vous pouvez utiliser la valeur du signal à la place du nom du signal. Vous n’avez donc pas besoin de mémoriser tous les noms des différents signaux.
Alors, utilisons maintenant le tuer commande pour tuer notre instance de chrome. La structure de cette commande serait :

tuer SIGNAL PID

Où SIGNAL est le signal à envoyer et PID est l’ID de processus à tuer. Nous savons déjà, de notre ps commande que les identifiants que nous voulons supprimer sont 3827, 3919, 10764 et 11679. Donc, pour envoyer le signal de suppression, nous énonçons les commandes :

tuer -9 3827

tuer -9 3919

tuer -9 10764

tuer -9 11679

Une fois que nous avons émis les commandes ci-dessus, tous les processus Chrome auront été supprimés avec succès.

Prenons la voie facile ! Si nous savons déjà que le processus que nous voulons tuer s’appelle chrome, nous pouvons utiliser le tuer tous commande et envoie le même signal au processus comme ceci :

killall -9 chromé

Le seul inconvénient de la commande ci-dessus est qu’elle peut ne pas intercepter tous les processus Chrome en cours d’exécution. Si, après avoir exécuté la commande ci-dessus, vous exécutez la commande ps aux|grep chrome et voyez les processus restants en cours d’exécution, votre meilleur pari est de revenir à la tuer commande et envoyer le signal 9 pour terminer le processus par PID.

Mettre fin aux processus en toute simplicité

Comme vous pouvez le voir, tuer des processus errants n’est pas aussi difficile que vous pourriez le penser. Lorsque je me retrouve avec un processus têtu, j’ai tendance à commencer par le tuer tous commande car il s’agit de la route la plus efficace vers la terminaison. Cependant, lorsque vous vous retrouvez avec un processus vraiment fougueux, le tuer la commande est la voie à suivre.

La poste Classic SysAdmin : Comment tuer un processus à partir de la ligne de commande Linux est apparu en premier sur Fondation Linux.

Rate this post
Publicité
Article précédentLes GPU Arc Alchemist d’Intel qui devraient être lancés en mars, prendront les RTX 3060 et 3070
Article suivantComment graver un CD/DVD sous Linux avec Brasero
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

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