我们正在一个孤立的testing实验室中运行一个自定义的SystemD服务。 这项服务需要偶尔的更新,并且运行在各种发行版上,所以我们不打算为它创build软件包。 在新的更新被拉动之后,服务需要重新启动。 更新本身由原始服务产生的脚本运行。 然后,此脚本发出systemctl restart service ,现在使用新代码运行服务,但是,updater脚本本身与其他所有事件一起被终止。
我希望由服务调用的updater脚本能够运行并完成一些清理工作,而不会在服务重启期间被终止。 我试过用setsid调用updater脚本,但似乎没有保护它。 我相信我需要以某种方式将其从系统单元cgroup中移出,以防止其重新启动。