首页 > 解决方案 > 在bash中,如何捕捉程序自行退出的“事件”?

问题描述

我有一个 bash 程序,它需要在终止时删除锁定文件。

bash 是否在执行结束时退出或者它是否在某个时候失败并以错误代码退出并不重要,我想在它实际终止之前捕获这个事件并做一些事情。

我已经阅读过trap,但如果陷阱是解决方案,我不明白应该向陷阱发出哪个信号以捕捉所有“退出可能性”。

陷阱是解决方案吗?如果没有,如何实现?

标签: bashsignalsbash-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
}

推荐阅读