假设我有这个 script.sh
#!/bin/bash
exit_script() {
echo "Printing something special!"
echo "Maybe executing other commands!"
kill -- -$$ # Sends SIGTERM to child/sub processes
}
echo "Some other text"
#other commands here
sleep infinity
我想script.sh
执行的功能exit_script
时,它接收SIGINT
或SIGTERM
例如:
killall script.sh # it will send SIGTERM to my script
我希望我的脚本执行此操作
exit_script() {
echo "Printing something special!"
echo "Maybe executing other commands!"
kill -- -$$ # Sends SIGTERM to child/sub processes
}
我尝试使用实现此功能 trap
trap exit_script SIGINT SIGTERM
回答我问题的人证明我错了。
但这没有用,因为它trap
似乎只对发送给子/子进程的信号做出反应。作为一个初学者,我无法破译trap
手册页,因此我可能错过了解决方案。
我猜这就是像Chromium这样的“真实”程序在发送时所要做的 SIGTERM
从https://major.io/2010/03/18/sigterm-vs-sigkill/
收到SIGTERM后,应用程序可以确定其要执行的操作。虽然大多数应用程序将清理其资源并停止运行,但有些可能不会。
2
一般而言,发誓被认为是不适当的礼貌性言语
—
猫
编辑建议已批准好的,做好了,
—
不好意思
并不是说没有乐趣,而是被认为令人反感
—
2016年
@cat我已经考虑过您的论点,您说得对,对不起,我的
—
傻话