为什么我的远程主机在使用结构重新启动()时返回错误代码-1



本地主机环境:CentOS 7、Python 3.5.1、Fabric3 (1.11.1.post1)
远程主机环境:CentOS 7

fibfile:

def fuc():
    reboot()

砰:

fab -f fibfile.py -H host -u root -p password

远程主机确实重新启动,但返回致命错误:

sudo() received nonzero return code -1 while executing 'reboot'!

现在我使用warn_only来防止失败:

晶圆厂:

def test():
    with settings(warn_only=True):
        reboot()

我开始在一些新的虚拟机上遇到这个问题。我认为他们关闭得太快了,正如乔恩斯塔克所说。

为了修复它,我忽略了错误和警告,就像这样。

with settings(hide('warnings'),
              warn_only=True,
             ):
    sudo("shutdown -r now")

我在使用 ansible 时发现了类似的问题:链接

我认为最重要的答案是正确的:

reboot关闭服务器的速度如此之快,以至于服务器正在断开 SSH 连接。

shutdown -r now返回相同的致命错误:

sudo() 在执行"立即关闭 -r "时收到非零返回代码 -1!

shutdown -r +1返回成功:

out:关闭时间安排在星期一 2016-05-23 14:16:48 UTC,使用"shutdown -c"取消。

但关机只能延迟至少一分钟。所以我们只能选择等待一分钟或忽略错误。

您可以将 shell 会话放入后台,该会话休眠 1 秒,然后执行 reboot 命令。由于nohup问题,必须在不使用nohup命令的情况下完成。我使用tmux...

reboot(command='tmux new-session -d "sleep 1; reboot;"')

相关内容

  • 没有找到相关文章

最新更新