当我的shell脚本退出时,如何杀死后台进程/作业?
发布时间:2020-12-15 16:58:57 所属栏目:安全 来源:网络整理
导读:我正在寻找一种方法,当我的顶级脚本退出时,清理混乱。 特别是如果我想使用set -e,我希望后台进程会死在脚本退出时。 要清理一些乱,可以使用陷阱。它可以提供在特定信号到达时执行的东西的列表: trap "echo hello" SIGINT 但也可以用于在shell退出时执行
我正在寻找一种方法,当我的顶级脚本退出时,清理混乱。
特别是如果我想使用set -e,我希望后台进程会死在脚本退出时。
要清理一些乱,可以使用陷阱。它可以提供在特定信号到达时执行的东西的列表:
trap "echo hello" SIGINT 但也可以用于在shell退出时执行某些操作: trap "killall background" EXIT 这是一个内置的,所以帮助陷阱将给你的信息(与bash工作)。如果你只想杀死后台作业,你可以做 trap 'kill $(jobs -p)' EXIT 注意使用single’,以防止shell立即替换$()。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |