SIGUSR2
depende de la arquitectura y puede tener un valor de 31
, 12
o 17
. Esto se describe en man 7 signal
. Tendrá que averiguar qué valor es apropiado para su sistema. Por lo general, esto se hace echando un vistazo a:
/usr/include/asm/signal.h
En mi sistema, Ubuntu 12.04 AMD 64, tiene un valor de 12
:
#define SIGUSR2 12
Una vez que sepa el valor numérico adecuado para SIGUSR2
en su sistema, puede enviar esta señal usando:
kill -SIGNO PID
# In this case
kill -12 PID
En mi caja de Linux funciona.
Ejecuté un ciclo infinito (pid =4574), luego ejecuté
#!/bin/bash
kill -l | grep USR2
kill -SIGUSR2 4574
matar -l ha mostrado la señal y kill -SIGUSR2 ha enviado la señal (matando el proceso).
Compruebe si está ejecutando Bash o algún otro shell (por ejemplo, dash, busybox, etc.)
Manera multiplataforma de hacer esto:use -s
sin el SIG
prefijo. Por ejemplo,:
kill -s USR2 $pid
Esto parece funcionar tanto en MacOS como en Linux.