GNU/Linux >> Tutoriels Linux >  >> Linux

comment utiliser kill SIGUSR2 dans bash?

SIGUSR2 dépend de l'architecture et peut avoir une valeur de 31 , 12 ou 17 . Ceci est décrit dans man 7 signal . Vous devrez trouver quelle valeur est appropriée pour votre système. Habituellement, cela se fait en examinant :

/usr/include/asm/signal.h 

Sur mon système - Ubuntu 12.04 AMD 64 - il a une valeur de 12 :

#define SIGUSR2     12

Une fois que vous connaissez la valeur numérique appropriée pour SIGUSR2 sur votre système, vous pouvez envoyer ce signal en utilisant :

kill -SIGNO PID
# In this case
kill -12 PID

Sur ma machine Linux, cela fonctionne.

J'ai exécuté une boucle infinie (pid =4574), puis j'ai exécuté

#!/bin/bash
kill -l | grep USR2
kill -SIGUSR2 4574

tuer -l a montré le signal et kill -SIGUSR2 a envoyé le signal (tuant le processus).

Vérifiez si vous exécutez Bash ou un autre shell (par exemple, dash, busybox, etc.)


Manière multiplateforme de le faire :utilisez -s sans le SIG préfixe. Par exemple, :

kill -s USR2 $pid

Cela semble fonctionner à la fois sur MacOS et Linux.


Linux
  1. Comment utiliser BusyBox sous Linux

  2. Comment utiliser les commandes d'historique de Bash

  3. Comment j'utilise cron sous Linux

  4. Comment tuer le script python avec le script bash

  5. comment décaler la valeur du tableau dans bash

Comment utiliser la commande de lecture Bash

Comment utiliser les opérateurs de test de fichiers Bash sous Linux

Comment utiliser la commande de date dans les scripts bash sous Linux

Comment utiliser la commande Declare dans Linux Bash Shell

Comment utiliser la commande echo dans les scripts Bash sous Linux

Comment utiliser Linux Bash Shell dans Windows 10 ?