宕机自动拉起

后台服务器运行过程中,有时候由于bug或者其他不确定的因素导致某个游戏进程宕机,比如场景服,及时自动拉起该宕机进程可以提高玩家的游戏体验,玩家可能都感知不到有进程宕机,所以自动拉起宕机的进程是目前游戏后台服务器设计中一种通用的做法。

贴一个使用python拉起宕机服务器进程的代码:

import time

import os

import sys

def main():

    restart_delay = 5

    if len(sys.argv) != 3:

        print "usage: ./my_guard.py server para"

    cmd = str(sys.argv[1])

    para = str(sys.argv[2])

    while True:

        status = os.system("nohup %s  >%s 2>&1" %(cmd, para))

         time.sleep(restart_delay)

if __name__ == "__main__":

    sys.exit(main())

可以使用kill -9 某个场景服进程号 杀死一个场景服务器进程, 会发现游戏屏幕出现"转圈"现象,过五秒后,被杀死的这个服务器进程自动重启,这时游戏又恢复正常了。

还有使用sh脚本拉起进程例子,它们实现的思想都是通过定期轮询进程是否存在,如果不存在则重启该进程。

sh脚本拉起进程:

https://blog.csdn.net/wangshui898/article/details/80236458

https://www.bbsmax.com/A/KE5QwK4zLG/

https://blog.csdn.net/indigogao/article/details/9050175


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部