当我的shell脚本退出时,如何杀死后台进程/作业?

前端之家收集整理的这篇文章主要介绍了当我的shell脚本退出时,如何杀死后台进程/作业?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种方法,当我的顶级脚本退出时,清理混乱。

特别是如果我想使用set -e,我希望后台进程会死在脚本退出时。

要清理一些乱,可以使用陷阱。它可以提供在特定信号到达时执行的东西的列表:
trap "echo hello" SIGINT

但也可以用于在shell退出时执行某些操作:

trap "killall background" EXIT

这是一个内置的,所以帮助陷阱将给你的信息(与bash工作)。如果你只想杀死后台作业,你可以做

trap 'kill $(jobs -p)' EXIT

注意使用single’,以防止shell立即替换$()。

原文链接:https://www.f2er.com/bash/392981.html

猜你在找的Bash相关文章