GNU/Linux >> Tutoriels Linux >  >> Linux

kill Exemples de commandes sous Linux

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.

Utiliser le numéro pid pour terminer les processus

Vous pouvez utiliser la commande kill avec la table de processus pour terminer les processus. En entrant kill suivi du PID, vous pouvez mettre fin à des processus spécifiques. Cependant, la table des processus peut afficher des processus qui ne vous appartiennent pas. En tant qu'utilisateur, vous ne pouvez utiliser la commande kill qu'avec les processus que vous possédez. En tant que root, vous pouvez tuer n'importe quel processus.

Signaux de mise à mort

Il existe de nombreuses façons de tuer un processus, chacune mappée à un signal. Ce signal détermine comment tuer le processus. Certains signaux sont plus appropriés que d'autres dans certaines situations. Par exemple, vous souhaiterez peut-être terminer un processus proprement, en lui laissant le temps de nettoyer les dernières activités. Cependant, certains processus ignoreront ce signal ou ne parviendront tout simplement pas à se terminer dans un délai raisonnable. Pour cela, vous devrez peut-être émettre un signal plus agressif.

Il existe de nombreux signaux de destruction différents. Chaque signal a un nom et une ou plusieurs valeurs numériques correspondantes ; vous pouvez utiliser l'un ou l'autre avec la commande kill. Certains des signaux les plus courants sont décrits ci-dessous :

1. SIGINT (2)
– Interrompt le processus depuis le terminal.
– Peut être détecté ou ignoré.
– Identique à appuyer sur Ctrl+C

2. SIGKILL (9)
– Tue le processus immédiatement.
– Ne peut pas être attrapé ou ignoré.
– Dernier recours.

3. SIGTERM (15)
– Termine le processus.
– Peut être intercepté ou ignoré.
– Envoyé depuis le programme et non depuis le terminal.

4. SIGSTOP (17, 19, 23)
– Processus de pause.
– Ne peut pas être détecté ou ignoré.
– Envoyé depuis le programme et non depuis le terminal.

5. SIGSTP (18, 20, 24)
– Interrompt le processus à partir du terminal.
– Peut être intercepté ou ignoré.
– Identique à appuyer sur Ctrl+Z.

Démo des signaux de mise à mort

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

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


Linux
  1. Comment tuer un processus sous Linux en utilisant la commande ?

  2. 7 Exemples de commandes Linux df

  3. 8 Exemples de commandes Linux TR

  4. Exemples de commande rm sous Linux

  5. kill Exemples de commandes sous Linux

Commande Linux wc avec exemples

Commande Kill sous Linux

Commande Killall sous Linux avec des exemples

5 façons rapides de tuer un processus sous Linux

Comment tuer un processus sous Linux

Exemples de commandes id sous Linux