Comment forcer l'arrêt d'un processus sous Linux
- Utilisez la commande pidof pour trouver l'ID du processus d'un programme ou d'une application en cours d'exécution.
pidof nom de l'application - Pour tuer un processus sous Linux avec PID :
kill -9 pid - Vous voulez tuer un processus sous Linux avec le nom de l'application ? Essayez :
killall -9 nom de l'application
Niveau de difficulté | Facile |
Privilèges de la racine | Non |
Exigences | Terminal Linux |
Catégorie | Processus |
Compatibilité avec les systèmes d'exploitation | Alma-Alpine-Arch-CentOS-Debian-Fedora-Linux- Mint -openSUSE- Pop!_OS -RHEL- Rocky -Stream-SUSE-Ubuntu-WSL |
Durée de lecture estimée | 4 minutes |
Comment tuer un processus sous Linux
Essayons de tuer un processus qui s'appelle firefox. Pour trouver le pid de firefox, exécutez l'une des commandes suivantes :
$ pidof firefox
$ pgrep firefox
$ ps aux | grep firefox
Localiser le processus (PID) à tuer sous Linux
Forcer le processus kill sur la ligne de commande Linux
Pour tuer un processus sous Linux, utilisez la commande kill :
$ kill pid
$ kill -SIGKILL pid
$ kill 27707
Par défaut, le signal 15, appelé SIGTERM, est envoyé pour tuer le processus. Par conséquent, tous les éléments suivants font la même chose :
$ kill -15 27707
$ kill -SIGTERM 27707
$ kill 27707
Vérifiez que le processus firefox est parti en utilisant la commande pidof/pgrep ou la combinaison de la commande ps et de la commande grep pour localiser le processus Linux en cours d'exécution. Par exemple :
$ pidof firefox
$ pgrep firefox
$ ps aux | grep firefox
Il y a beaucoup de signaux qui peuvent être utilisés avec kill, mais, la plupart des utilisateurs auront seulement besoin de connaître les signaux 9 et 15. Pour obtenir la liste complète, exécutez :
$ kill -l
Exemples de résultats :
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX
Comment tuer un processus sous Linux en utilisant SIGKILL
Lorsque -SIGTERM (-15) échoue, le signal 9 plus fort, appelé SIGKILL, doit être utilisé pour forcer la mort du processus. Par exemple, la commande suivante garantira que le processus 27707 sera tué :
$ kill -9 27707
$ kill -SIGKILL 27707
Linux force kill process using killall command
Au lieu d'utiliser le PID, on peut tuer un processus par son nom en utilisant la commande killall ou pkill. La syntaxe est la suivante :
$ killall -9 app
$ pkill -9 app
La commande killall envoie un signal à tous les processus exécutant l'une des commandes spécifiées. Par exemple, pour tuer de force tous les processus nginx, exécutez :
$ killall -9 nginx
Vous pouvez exécuter la commande killall en tant qu'utilisateur root pour tuer les processus de tous les utilisateurs sous Linux :
$ sudo killall -9 nginx
Il est également possible de tuer le processus avec confirmation :
$ killall -9 vim
Comment tuer les processus plus anciens que TIME
Vous voulez tuer un processus appelé vim qui fonctionne depuis plus de 24 heures ? Essayez :
$ killall -o 24h appName
$ killall -o 24h vim
Le temps est spécifié en tant que flottant puis en tant qu'unité. Les unités sont :
s | secondes |
m | minutes |
h | heures |
d | jours |
w | semaines |
M | Mois |
y | années |
Comment tuer les processus plus jeunes que TIME
Tuons un processus qui est en cours d'exécution depuis moins de 60 minutes :
$ killall -y 60 -9 appName
$ killall -y 60 -9 firefox
Comment tuer uniquement le(s) processus s'exécutant en tant qu'UTILISATEUR
Disons que vous voulez tuer le processus vim qui fonctionne sous l'utilisateur vivek, exécutez :
$ killall -u {user} -9 vim
$ killall -u vim -9 vim
Conclusion
Cette page a montré comment utiliser les commandes kill et killall sur les systèmes d'exploitation Linux pour mettre fin aux processus de manière forcée. Les commandes kill/killall ont beaucoup plus d'options. Par conséquent, lisez la page de manuel en utilisant la commande help ou man comme suit en utilisant la session du terminal Linux :
$ man kill
$ man killall
$ man ps
$ man pgrep