宕机自动拉起

后台服务器运行过程中,有时候由于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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值