SIGUSR2
bergantung pada arsitektur dan dapat memiliki nilai dari 31
, 12
atau 17
. Hal ini dijelaskan dalam man 7 signal
. Anda harus mengetahui nilai mana yang sesuai untuk sistem Anda. Biasanya ini dilakukan dengan melihat ke:
/usr/include/asm/signal.h
Di sistem saya - Ubuntu 12.04 AMD 64 - memiliki nilai 12
:
#define SIGUSR2 12
Setelah Anda mengetahui nilai numerik yang tepat untuk SIGUSR2
di sistem Anda, Anda dapat mengirimkan sinyal ini menggunakan:
kill -SIGNO PID
# In this case
kill -12 PID
Di kotak Linux saya berfungsi.
Saya menjalankan infinite loop (pid =4574), lalu saya menjalankan
#!/bin/bash
kill -l | grep USR2
kill -SIGUSR2 4574
bunuh -l telah menunjukkan sinyal dan kill -SIGUSR2 telah mengirim sinyal (mematikan proses).
Periksa apakah Anda menjalankan Bash atau shell lain (mis., dasbor, busybox, dll.)
Cara lintas platform untuk melakukan ini:gunakan -s
tanpa SIG
awalan. Misalnya,:
kill -s USR2 $pid
Ini sepertinya bekerja pada MacOS dan linux.