微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python中的多服务器监视器/自动重启器

我有2个服务器程序,必须使用GNU Screen启动.我想用基于Python的程序来强化这些服务器以防止崩溃,该程序启动每个屏幕会话然后监视服务器进程.如果服务器进程崩溃,我需要python代码来终止无关的屏幕会话并再次使用屏幕重启服务器.

我对python很新,但我正借此机会自学.我知道这可以在bash脚本中完成.但是我想在未来的功能上构建这个代码,所以它需要只是python.

代码如下:

thread-one {
     While 1:
     start server 1 using screen
     wait for server to end
     end while
}

thread-two {
     While 1:
     start server 2 using screen
     wait for server to end
     end while
}

解决方法:

“需要多线程来处理两个独立程序的重启”

不明白为什么.

import subprocess

commands = [ ["p1"], ["p2"] ]
programs = [ subprocess.Popen(c) for c in commands ]
while True:
    for i in range(len(programs)):
        if programs[i].returncode is None:
            continue # still running
        else:
            # restart this one
            programs[i]= subprocess.Popen(commands[i])
        time.sleep(1.0)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐