SIGUSR2
アーキテクチャに依存し、31
の値を持つことができます 、 12
または 17
.これは man 7 signal
で説明されています .システムに適した値を見つける必要があります。通常、これは以下を調べることによって行われます:
/usr/include/asm/signal.h
私のシステム - Ubuntu 12.04 AMD 64 - の値は 12
です :
#define SIGUSR2 12
SIGUSR2
の適切な数値がわかったら お使いのシステムでは、次を使用してこのシグナルを送信できます:
kill -SIGNO PID
# In this case
kill -12 PID
私のLinuxボックスでは動作します。
無限ループ (pid =4574) を実行してから実行しました
#!/bin/bash
kill -l | grep USR2
kill -SIGUSR2 4574
kill -l シグナルを表示し、kill -SIGUSR2 シグナルを送信しました (プロセスを強制終了します)。
Bash またはその他のシェル (dash、busybox など) を実行しているかどうかを確認してください。
これを行うクロスプラットフォームの方法:-s
を使用します SIG
なし プレフィックス。例:
kill -s USR2 $pid
これは、MacOS と Linux の両方で動作するようです。