在 bash 脚本中,我按如下方式处理不同的信号:
#!/bin/bash
sighdl ()
{
echo "signal caught"
#do something
exit 0
}
trap sighdl SIGKILL SIGINT SIGTERM
上面的代码正确处理以下活动的信号:
-
Ctrl+C
kill pid
pkill scriptname
For kill -9 pid
它不调用sighdl
。据我的理解(如果我没记错的话)kill -9
发送 SIGKILL 信号。
任何想法?
你不能这样做。是的 9 是SIGKILL
Unix 系统的设计不允许任何脚本/程序陷入陷阱SIGKILL
由于安全原因。否则,任何脚本都可以捕获并忽略 SIGKILL,这将导致操作系统无法终止该脚本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)