Ansible似乎在(某些?)任务结束时发送SIGHUP信号。这是一个问题,因为任务调用bash脚本,而bash脚本又启动服务器实例。
现在,如果关闭Ansibles SSH会话发送一个SIGHUP,这实际上将关闭服务器 - 首先是Ansible任务的关键点。
那么,有没有办法可以保证Ansible在关闭任务/会话时不发送SIGHUP信号的方式使用SSH?
理论上我可以使用nohup
启动bashscript。但这似乎只是一个肮脏的解决方法,因为我知道SSH能够做我想做的事情:如果我手动编写并通过SSH传递脚本命令:
ssh user@server "scriptToStartMyServer.sh params"
..然后它工作正常并且没有发送SIGHUP(因此服务器存活并且在启动后不会立即关闭)。
编辑: 遗憾的是,我们无法避免使用这些bash脚本来启动服务器,我们无法真正更改它们,因为这是客户提供给我们的东西。