Différentes commandes sont utilisées pour envoyer des signaux aux processus afin de les terminer ou de les « tuer ». Cela est nécessaire lorsqu'un processus ne répond plus (se bloque), provoque une instabilité du système ou ne parvient pas à abandonner le contrôle d'un fichier que vous essayez de modifier.
La commande "kill" envoie n'importe quel signal spécifié, ou par défaut le signal de terminaison, à un ou plusieurs processus. Le PID doit être spécifié comme argument.
Voici quelques exemples d'implémentation de signaux d'arrêt. Pour terminer un processus avec l'ID 921 de manière appropriée :
# kill 15 921
A défaut, pour tuer le processus immédiatement :
# kill 9 921
Alternativement, pour mettre en pause plutôt que de supprimer complètement le processus :
# kill 17 921
Si vous rencontrez l'erreur ci-dessous lors de l'exécution de la commande kill :
kill: command not found
vous pouvez essayer d'installer le package ci-dessous selon votre choix de distribution :
Répartition du système d'exploitation | Commande |
---|---|
Debian | procps d'installation apt-get |
Ubuntu | procps d'installation apt-get |
Alpin | apk ajouter des procédures |
Arch Linux | pacman -S procps-ng |
Kali Linux | procps d'installation apt-get |
CentOS | yum installer procps-ng |
Fédora | dnf install procps-ng |
Raspbian | procps d'installation apt-get |
exemples de commande kill
1. Pour obtenir la liste des signaux :
# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG 17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD 21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGINFO 30) SIGUSR1 31) SIGUSR2
2. Pour envoyer un signal particulier :
# kill -s 9
3. Pour spécifier la liste des processus à tuer :
# kill 1234 2345 3456
4. Terminez un programme en utilisant le signal SIGTERM (terminer) par défaut :
# kill process_id
5. Terminez une tâche en arrière-plan :
# kill %job_id
6. Terminez un programme en utilisant le signal SIGHUP (raccrocher). De nombreux démons se rechargeront au lieu de se terminer :
# kill -1|HUP process_id
7. Terminez un programme en utilisant le signal SIGINT (interruption). Ceci est généralement lancé par l'utilisateur en appuyant sur `Ctrl + C` :
# kill -2|INT process_id
8. Signalez au système d'exploitation de terminer immédiatement un programme (qui n'a aucune chance de capturer le signal) :
# kill -9|KILL process_id
9. Signalez au système d'exploitation de suspendre un programme jusqu'à ce qu'un signal SIGCONT ("continuer") soit reçu :
# kill -17|STOP process_id
10. Envoyez un signal `SIGUSR1` à tous les processus avec le GID (identifiant de groupe) donné :
# kill -SIGUSR1 -group_id