Bash 后台处理不';关闭ssh后无法工作

Bash 后台处理不';关闭ssh后无法工作,bash,docker,ubuntu,ssh,deployment,Bash,Docker,Ubuntu,Ssh,Deployment,我正在使用SSH脚本进行远程部署。推送到主分支后,存储库通过SSH连接并调用deploy.sh,deploy.sh应该在后台运行,以免浪费devops节点的运行时间。在脚本中,docker重新启动并退出repo。我尝试了nohup、&、disown,但结果仍然是一样的:脚本只有在SSH控制台中终止时才能正常工作。如果我们关闭SSH连接,什么也不会发生,就像我们从未调用脚本一样。为什么会发生这种情况?您是否尝试过使用setsid?是的,结果是相同的。如果你在油灰下面运行它,它就工作了。但是,如果您

我正在使用SSH脚本进行远程部署。推送到主分支后,存储库通过SSH连接并调用deploy.sh,deploy.sh应该在后台运行,以免浪费devops节点的运行时间。在脚本中,docker重新启动并退出repo。我尝试了nohup、&、disown,但结果仍然是一样的:脚本只有在SSH控制台中终止时才能正常工作。如果我们关闭SSH连接,什么也不会发生,就像我们从未调用脚本一样。为什么会发生这种情况?

您是否尝试过使用
setsid
?是的,结果是相同的。如果你在油灰下面运行它,它就工作了。但是,如果您发送SSH命令,noIt听起来像远程命令需要TTY;当不拥有/背景时,依赖TTY的操作(即使它不是您想要/需要的)将导致进程暂停和/或失败。如果调用
ssh-T
(使用上部-
T
,禁用伪终端分配),则整个行为是否会发生变化?“-T”标志有帮助!一切顺利,谢谢!您是否尝试过使用
设置ID
?是的,结果相同。如果你在油灰下面运行它,它就工作了。但是,如果您发送SSH命令,noIt听起来像远程命令需要TTY;当不拥有/背景时,依赖TTY的操作(即使它不是您想要/需要的)将导致进程暂停和/或失败。如果调用
ssh-T
(使用upper-
T
,禁用伪终端分配),整体行为是否会改变?“-T”标志有帮助!一切顺利,谢谢!