accueil > Gestion des processus > killall

killall : Terminer des processus par nom

La commande killall envoie un signal à tous les processus en cours d'exécution portant un nom spécifié. Ceci est utile pour arrêter toutes les instances d'une application ou d'un service particulier en une seule fois. Par défaut, elle envoie le signal SIGTERM, mais vous pouvez spécifier d'autres signaux.

Aperçu

killall est un outil puissant qui permet de terminer plusieurs processus à la fois en utilisant leur nom au lieu de leur identifiant de processus (PID). Comme il cible toutes les instances portant le même nom, il est particulièrement pratique pour arrêter toutes les fenêtres ou tous les services d'arrière-plan d'une application spécifique.

Caractéristiques principales

  • Terminaison basée sur le nom du processus
  • Support de l'envoi de divers signaux (SIGTERM par défaut)
  • Possibilité de filtrer par utilisateur, temps, etc.
  • Traitement de plusieurs instances en une seule fois

Options principales

La commande killall offre diverses options pour contrôler finement la manière et la cible de la terminaison des processus.

Comportement par défaut et signaux

Filtrage des processus

Commande générée :

Essayez de combiner les commandes.

Description:

`killall` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Divers exemples d'utilisation de la commande killall.

Terminer tous les processus d'un nom spécifique

killall firefox

Termine toutes les instances du navigateur Web Firefox. Envoie le signal par défaut SIGTERM (demande de terminaison normale).

Terminaison forcée avec un signal spécifique

killall -s SIGKILL chrome

Termine toutes les instances du navigateur Web Chrome avec le signal SIGKILL (terminaison forcée). Ce signal ne donne pas au processus la possibilité d'effectuer des opérations de nettoyage, il doit donc être utilisé avec prudence.

Terminaison en mode interactif

killall -i sshd

Demande une confirmation à l'utilisateur pour chaque instance du processus sshd (démon SSH) avant de le terminer. La saisie de 'y' entraînera la terminaison.

Terminer les processus d'un utilisateur spécifique

killall -u user1

Termine tous les processus exécutés par l'utilisateur 'user1'.

Attendre la terminaison d'un processus

killall -w myapp

La commande attend que le processus 'myapp' en cours d'exécution soit complètement terminé.

Installation

La commande killall est généralement installée par défaut dans la plupart des distributions Linux dans le cadre du paquet 'psmisc'. Si elle n'est pas installée sur votre système, vous pouvez l'installer en utilisant les commandes suivantes.

Debian/Ubuntu

sudo apt update && sudo apt install psmisc

Installe le paquet psmisc en utilisant le gestionnaire de paquets APT.

CentOS/RHEL/Fedora

sudo yum install psmisc
# ou
sudo dnf install psmisc

Installe le paquet psmisc en utilisant le gestionnaire de paquets YUM ou DNF.

Conseils et précautions

Conseils utiles et points à considérer lors de l'utilisation de la commande killall.

Prudence lors de l'utilisation de SIGKILL (-9)

SIGKILL (signal numéro 9) termine un processus de manière forcée et immédiate, sans lui laisser la possibilité de nettoyer les fichiers ou les données ouverts. Cela peut entraîner une perte de données ou une instabilité du système. Il est donc préférable d'essayer d'abord avec d'autres signaux (comme SIGTERM) et de n'utiliser SIGKILL qu'en dernier recours.

  • **Utiliser SIGTERM (par défaut) en premier** : La plupart des applications se terminent normalement lorsqu'elles reçoivent SIGTERM.
  • **Utiliser SIGKILL en dernier recours** : Utilisez-le uniquement lorsque le processus ne répond pas.

Vérifier le nom exact du processus

killall utilise le nom exact du processus. Il est recommandé de vérifier le nom exact du processus que vous souhaitez terminer en utilisant la commande `ps aux | grep <nom_du_processus>`.

  • Exemple : `ps aux | grep firefox`

Différence entre killall et pkill

`killall` fonctionne sur la base du nom exact du processus, tandis que `pkill` peut utiliser des expressions régulières pour faire correspondre les noms de processus, permettant une recherche et une terminaison plus flexibles.

  • `killall` : Correspondance exacte du nom (par exemple, `killall firefox`)
  • `pkill` : Correspondance d'expressions régulières (par exemple, `pkill -f 'firef[o]x'`)
  • `pkill` étend les fonctionnalités de la commande `kill` sans avoir à spécifier directement le PID.

Attention à la terminaison des processus système

La terminaison des processus système essentiels avec `killall` peut rendre le système instable ou provoquer des plantages. Soyez particulièrement prudent lorsque vous l'exécutez avec les privilèges `root`.

  • Exemple : N'exécutez jamais `killall systemd`, `killall init`, etc.

Commandes de la même catégorie