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.