我想知道,当信号处理器发出信号时,谁真正产生了信号。是用户生成的,还是系统生成的,还是由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
答案 0 :(得分:0)
你不能;信号由操作系统代表匿名信号发送。