我有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 举报,一经查实,本站将立刻删除。