La commande kill
est utilisée dans les systèmes d’exploitation de type Unix, comme Linux, pour envoyer des signaux à des processus. Chaque signal peut provoquer une réponse différente dans le processus ciblé, mais en général, kill
est utilisé pour arrêter des processus.
Voici un aperçu des composants de base et de la fonctionnalité de la commande kill
:
Utilisation de base
La commande de base est
kill [options] <PID>
où <PID>
est l’identifiant du processus à signaler.
Sans options, kill
envoie SIGTERM
(signal numéro 15), qui demande au processus de se terminer proprement, en fermant les fichiers et en libérant les ressources.
Comment trouver le PID d’un processus ?
Le PID, ou « Process IDentifier », est un nombre unique attribué par le système d’exploitation à chaque processus lors de sa création. Ce numéro permet au système d’exploitation et à l’utilisateur de distinguer chaque processus en cours d’exécution sur le système.
Pour afficher les PIDs sur un système Linux, vous pouvez utiliser plusieurs commandes, les plus courantes étant ps
, top
, htop
(une version améliorée de top qui doit être installée séparément), et pgrep
.
- Commande
ps
:- Tapez
ps aux
pour afficher un instantané de tous les processus en cours d’exécution. La colonnePID
affiche le numéro d’identification de chaque processus. - Pour un processus spécifique, par exemple
firefox
, vous pouvez utiliserps aux | grep firefox
.
- Tapez
- Commande
top
:- Tapez
top
pour afficher une vue dynamique de tous les processus en cours d’exécution. Les PIDs sont listés dans une colonne sur la gauche. - Vous pouvez également utiliser
htop
pour une vue plus interactive et colorée.
- Tapez
- Commande
pgrep
:- Tapez
pgrep nom_du_processus
pour afficher le PID d’un processus par son nom. Par exemple,pgrep firefox
affichera le PID de toutes les instances de Firefox en cours d’exécution.
- Tapez
- Affichage détaillé:
- Si vous souhaitez plus de détails sur un processus spécifique une fois que vous avez son PID, vous pouvez utiliser
ps -p PID -o comm=
, ce qui affichera le nom de la commande qui a démarré le processus.
- Si vous souhaitez plus de détails sur un processus spécifique une fois que vous avez son PID, vous pouvez utiliser
Le PID est important car il est utilisé pour gérer des processus spécifiques, par exemple pour envoyer des signaux avec des commandes comme kill
, nice
ou renice
.
Signaux
Les signaux sont des messages envoyés à un processus pour déclencher une action prédéfinie. Les signaux peuvent être envoyés par le système d’exploitation, par d’autres processus ou par des utilisateurs.
Par exemple, le signal SIGTERM
demande à un processus de se terminer proprement, tandis que SIGKILL
ordonne à un processus de s’arrêter immédiatement.
Signaux courants :
SIGTERM
(15) : Signal de fin de processus standard. Le processus peut intercepter ce signal et le traiter comme il le souhaite (parfois en l’ignorant).
SIGKILL
(9) : Force le processus à se terminer immédiatement. Le processus ne peut pas intercepter ce signal.
SIGSTOP
(17, 19, 23) : Arrête (suspend) le processus sans le terminer.
SIGCONT
(18, 20, 24) : Reprend l’exécution d’un processus arrêté.
Commandes avancées :
Pour envoyer un signal spécifique, vous utilisez
kill -s <signal> <PID>
ou
kill -<signal> <PID>
. Par exemple,
kill -SIGTERM <PID>
ou
kill -15 <PID>
Vous pouvez également envoyer un signal à plusieurs PIDs à la fois : kill -SIGTERM PID1 PID2 PID3
.
Si vous voulez envoyer un signal à tous les processus exécutant un certain programme, vous pouvez utiliser pkill
ou killall
suivi du nom du programme.
Afficher la liste des signaux :
Vous pouvez voir la liste des signaux disponibles avec kill -l
. Ceci est utile pour connaître les différents types de signaux que vous pouvez envoyer avec kill
.
Permissions :
Un utilisateur peut envoyer des signaux à ses propres processus, mais seuls le superutilisateur (root) ou avec des droits élevés via sudo
peut envoyer des signaux aux processus d’autres utilisateurs.
Utilisation prudente
Bien que kill
soit un outil puissant, son utilisation doit être prudente, surtout avec des signaux comme SIGKILL
qui ne permettent pas au processus de se terminer proprement, ce qui peut entraîner une perte de données ou un état incohérent du système.
kill
est une commande flexible pour la gestion des processus qui permet aux utilisateurs de signaler des processus pour une variété d’actions, depuis une terminaison propre jusqu’à une interruption forcée.
Laisser un commentaire