SIGUSR2
je závislá na architektuře a může mít hodnotu z 31
, 12
nebo 17
. To je popsáno v man 7 signal
. Budete muset zjistit, která hodnota je vhodná pro váš systém. Obvykle se to provádí tak, že se podíváte do:
/usr/include/asm/signal.h
V mém systému – Ubuntu 12.04 AMD 64 – má hodnotu 12
:
#define SIGUSR2 12
Jakmile budete znát správnou číselnou hodnotu pro SIGUSR2
ve vašem systému můžete tento signál odeslat pomocí:
kill -SIGNO PID
# In this case
kill -12 PID
Na mém Linuxovém boxu to funguje.
Běžel jsem nekonečnou smyčku (pid =4574), pak jsem běžel
#!/bin/bash
kill -l | grep USR2
kill -SIGUSR2 4574
kill -l ukázal signál a zabil -SIGUSR2 odeslal signál (zabil proces).
Zkontrolujte, zda používáte Bash nebo nějaký jiný shell (např. dash, busybox atd.)
Meziplatformní způsob, jak to udělat:použijte -s
bez SIG
předpona. Např.:
kill -s USR2 $pid
Zdá se, že to funguje na MacOS i linuxu.