gpt4 book ai didi

Python pexpect 检查服务器是否启动

转载 作者:太空宇宙 更新时间:2023-11-04 00:45:33 24 4
gpt4 key购买 nike

我正在 CentOS 上自动执行几个配置步骤。为此,我还需要重新启动系统。我正在通过 python pexepct 调用“重启”命令,但是我需要等到系统启动才能执行剩余的脚本。为此,我编写了这段小代码。

    while True:
result = commands.getoutput("ping -c 4 192.168.36.134")
if result.find("Unreachable") == 1:
result = False
print 'Rebooting the Systems.'
else:
result = True
print 'Connected!'
break

有没有更好的方法来做到这一点?另外,我们能否通过 pexepct 本身实现这一点?

最佳答案

你可以试试这个:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# wait host to finish reboot, check specific port connection (usually ssh port if you want to exec remote commands)
while True:
try:
s.connect(('hostname', 22))
print "Port 22 reachable"
break
except socket.error as e:
print "rebooting..."
# continue
s.close()

这个例子比使用 ping 更有效

关于Python pexpect 检查服务器是否启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39819284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com