Il est également possible d'envoyer des signaux à plusieurs processus correspondant à un programme ou à un nom d'utilisateur spécifié en utilisant la commande killall. Voici la syntaxe :
# killall [-u user] [-signal] name...
Pour démontrer, nous allons démarrer quelques instances du programme de sommeil, puis les terminer.
$ sleep 500 & [1] 18801 $ sleep 600 & [2] 18802
$ killall sleep [1]- Terminated sleep [2]+ Terminated sleep
N'oubliez pas que, comme pour kill, vous devez disposer de privilèges de superutilisateur pour envoyer des signaux à des processus qui ne vous appartiennent pas.
Exemples de commandes killall
1. Pour tuer toutes les commandes spécifiées :
# killall
2. Pour lister tous les signaux connus :
# killall -l # killall --list
3. Ne vous plaignez pas si aucun processus n'a été tué :
# killall -q # killall --quiet
4. Pour envoyer le signal spécifié au lieu de SIGTERM :
# killall -s 9 bash # killall --signal 9 bash
5. Pour tuer les processus appartenant à un utilisateur particulier :
# killall -u mike
6. Pour passer en mode détaillé :
# killall -v # killall --verbose
7. Pour afficher la version :
# killall -V # killall --version
8. Pour spécifier d'attendre que tous les processus tués meurent :
# killall -w # killall --wait
9. Pour tuer les processus avec un contexte de sécurité spécifié :
# killall -Z # killall --context
10. Demandez de manière interactive une confirmation avant la résiliation :
# killall -i process_name
11. Terminez un processus en utilisant le signal SIGINT (interruption), qui est le même signal envoyé en appuyant sur `Ctrl + C` :
# killall -INT process_name
12. Forcer l'arrêt d'un processus :
# killall -KILL process_name
Conclusion
Les commandes souvent utilisées avec ps sont kill et killall. Lors de l'exécution de ps, nous avons vu qu'il y avait une colonne qui affiche PID, abréviation de process ID. Si un processus ne fonctionne pas correctement, se bloque ou si nous voulons simplement le terminer, une façon consiste à utiliser la commande kill. Passez-lui simplement le PID, par exemple, étant donné un PID de 123 :
# kill 123
Si vous souhaitez faire correspondre le processus par nom au lieu de PID, vous pouvez utiliser killall, par exemple, si Firefox a été gelé et que nous voulions forcer la fermeture :
# killall firefox