bash:如何知道被困时生成信号的来源?

时间:2016-04-22 12:21:41

标签: bash signals

我想知道,当信号处理器发出信号时,谁真正产生了信号。是用户生成的,还是系统生成的,还是由OOM(Out-Of-Memory Management)生成的。 问题是,我正在使用percona工具包运行数据库更改,并且在大约2-3小时后每次使用SIGHUP都会停止。

我安装了一个信号处理程序,以便捕获它,但希望知道它来自哪里。 示例程序如下:

trapCount=0

trapFunc()
{
 trapCount=`expr $trapCount + 1`
 echo "Sighup received...$trapCount" # But how to know who generated it
}

trap 'trapFunc' HUP

while [ 1 ]
do
 echo "First Line"
 sleep 1
 echo "Second Line"
 sleep 1
 echo "Third Line"
 sleep 1
 echo "Fourth Line"
 sleep 1
 echo "Sixth Line"
 sleep 1
 echo "Seventh Line"
 sleep 1
 echo "Eighth Line"
done

1 个答案:

答案 0 :(得分:0)

你不能;信号由操作系统代表匿名信号发送。