bash - 在bash中,如何捕捉程序自行退出的“事件”?
问题描述
我有一个 bash 程序,它需要在终止时删除锁定文件。
bash 是否在执行结束时退出或者它是否在某个时候失败并以错误代码退出并不重要,我想在它实际终止之前捕获这个事件并做一些事情。
我已经阅读过trap
,但如果陷阱是解决方案,我不明白应该向陷阱发出哪个信号以捕捉所有“退出可能性”。
陷阱是解决方案吗?如果没有,如何实现?
解决方案
尝试类似的东西
trap 'cleanup' EXIT
一开始,并有一个功能cleanup
:
function cleanup()
{
# Kill any lingering child processes
# kill -9 $(jobs -p) 2> /dev/null
kill -9 0 2> /dev/null
}
推荐阅读
- mysql - Mysql 日期但不是今天
- python - urllib.request.urlopen: SSL: CERTIFICATE_VERIFY_FAILED 错误在 Windows >=Vista (7/8/10/Server 2008) 在 Python >=3.4
- apache-spark - Pyspark:如何确保您的 udf 不会分配给不同的工作人员
- mqtt - 当有理由在 MQTT 上使用 UA OPC 和 UA OPC 架构时
- file - 如何复制FTP路径中的文件
- fabricjs - Fabricjs 2.0 如何为文本框的子字符串设置下划线
- android - `Anko` 给出异常 AnkoException: Id is not set
- karate - 如何在空手道中添加配置文件变量
- java - KafkaAvroDeserializer - NoClassDefFoundError:io/confluent/common/config/ConfigException
- android - 改造 FormUrlEncoded 请求不使用对象数组作为字段