kill (terminer)
100%

Processus · Leçon 7

kill (terminer)

Découvrez comment identifier un processus et lui envoyer un signal approprié avec `kill` selon une escalade sûre.

La commande kill envoie un signal à un processus ou à un groupe de processus. Son nom est historique : le signal demandé peut terminer, arrêter, reprendre ou déclencher une action définie par l’application. Confirmez toujours précisément la cible et comprenez le comportement documenté du programme envers le signal avant de l’envoyer.

Demander une terminaison ordonnée

Avec un PID seul, kill envoie SIGTERM par défaut :

$ kill 12445

Préférez le nom symbolique lorsque vous précisez explicitement un signal :

$ kill -TERM 12445

L’action par défaut de SIGTERM est la terminaison, mais un programme peut l’intercepter ou l’ignorer. Un service bien conçu peut employer un gestionnaire pour cesser d’accepter du travail, enregistrer l’état approprié et libérer les ressources de l’application. Il s’agit d’une possibilité, pas d’une garantie de nettoyage immédiat ou réussi.

Quel signal kill PID demande-t-il par défaut ?

Vérifier la cible

Les PID peuvent être réutilisés ; un PID périmé peut donc désigner ultérieurement un autre processus. Examinez la cible active immédiatement avant d’agir :

$ ps -p 12445 -o pid,ppid,user,lstart,stat,cmd

Vérifiez son utilisateur, son heure de démarrage, sa commande, son parent, son gestionnaire de service et son rôle opérationnel. Si un gestionnaire de services contrôle le processus, employez si possible sa commande d’arrêt ou de rechargement afin qu’il conserve un état correct et n’effectue pas immédiatement un redémarrage de l’enfant.

Vous pouvez envoyer des signaux aux processus que vous possédez, sous réserve des règles d’identifiants. L’envoi d’un signal au processus d’un autre utilisateur nécessite généralement les privilèges appropriés. N’employez pas de commande large fondée sur un nom avant d’avoir examiné chaque correspondance.

Pourquoi faut-il examiner un PID immédiatement avant de lui envoyer un signal ?

Vérifier la permission avec le signal zéro

Le signal numéro zéro effectue les contrôles d’erreurs sans délivrer de véritable signal :

$ kill -0 12445

Une réussite signifie qu’un processus possédant ce PID existe et que l’appelant est autorisé à lui envoyer un signal à cet instant. Un échec est ambigu : le processus peut ne pas exister ou l’appelant manquer de permission. Examinez l’erreur et l’état de sortie au lieu de traduire chaque échec par « ne s’exécute pas ». Ce contrôle n’est qu’instantané et ne supprime pas une éventuelle concurrence liée à la réutilisation ultérieure du PID.

Qu’établit la réussite de kill -0 PID à cet instant ?

N’escalader que si nécessaire

Si une cible autorisée ne se termine pas après SIGTERM, accordez-lui un délai adapté à la charge et recherchez-en la cause. Si une terminaison forcée se justifie ensuite, envoyez :

$ kill -KILL 12445

SIGKILL ne peut être ni intercepté, ni ignoré, ni bloqué ; le programme ne peut donc effectuer aucun nettoyage applicatif. Il peut laisser des transactions incomplètes, un état temporaire ou du travail de récupération à d’autres composants. Employez-le comme escalade, et non comme première étape habituelle.

Les autres signaux n’ont de sens que selon le contrat du programme destinataire. SIGHUP demande souvent un rechargement de la configuration, mais certains programmes conservent son comportement par défaut de terminaison. SIGSTOP suspend sans nettoyage et SIGCONT reprend un processus arrêté.

Quel est le principal inconvénient opérationnel de SIGKILL ?

Entraînez-vous à choisir les signaux uniquement sur des processus que vous avez lancés dans un environnement isolé. L’atelier Gérer et surveiller les processus Linux fournit une procédure contrôlée pour l’examen et la terminaison.

Leçon terminée

Vous avez terminé kill (terminer)

Vous savez maintenant envoyer des signaux aux processus avec une procédure délibérée et vérifiable.

  • Confirmer la cible active et son superviseur avant d’agir.

  • Employer SIGTERM comme demande normale de terminaison.

  • Interpréter le signal zéro comme un contrôle instantané d’existence et de permission.

  • Réserver SIGKILL à une escalade justifiée après investigation.

Conservez votre progression

Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.

Créer un compte gratuit
Leçon Suivante
Retour à Processus