TUTOS.EU

Tuer un processus sous Linux

Terminer un programme sous Linux

Pour commencer, affichez les processus et leur arborescence via la commande

ps aux --forest
Lien vers le fichier : cliquez ici Copier le code

La commande kill permet d'envoyer un signal SIGTERM à un processus en fonction de son pid.
C'est l'équivalent d'un kill -15 <pid>
Cela permet au processus de recevoir ce signal, l'interpréter, fermer proprement ses fichiers, connexions aux bases de données etc :

kill <pid>
Lien vers le fichier : cliquez ici Copier le code

Si un arrêt propre ne fonctionne pas et qu'il faut forcer la fermeture d'un programme, il faut alors envoyer un SIGKILL. Dans ce cas le process n'a pas son mot à dire et c'est l'OS, via INIT qui va se charger du travail de façon violente. Cela peut laisser "traîner" des processus fils orphelins, il faut donc ne l'utiliser que dans les cas désespérés.
La commander à taper est :

kill -9 <pid>
Lien vers le fichier : cliquez ici Copier le code

La commande ci-dessous essaye dans un premier temps d'arrêter proprement le process ayant le pid 27888 mais après 33 secondes il le tue :

(vu sur http://stackoverflow.com/questions/392022/best-way-to-kill-all-child-processes)

CPIDS=$(pgrep -P 27888); (sleep 33 && kill -KILL $CPIDS &); kill -TERM $CPIDS
Lien vers le fichier : cliquez ici Copier le code

Un kill -1 va lui envoyer un signal SIGHUP, ce qui va entraîner le redémarrage du service visé après relecture des fichiers de configuration. Cela peut être utile pour prendre en compte un changement de configuration du service samba, sshd ou autre :

kill -1 <pid>
Lien vers le fichier : cliquez ici Copier le code

Pages Web

Site WebDescription
Bencane.comUnderstanding the kill command
Linuxpedia.frContrôle des processus

2