卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章1829本站已运行4109

游戏服务端脚本 幻兽帕鲁(PalWorld) Linux服务端内存泄漏的临时解决方案

近期几个朋友在一起玩 幻兽帕鲁(PalWorld) 这个游戏,自己开了个Linux的服务端,但是这游戏服务端有内存泄漏的问题,所以参考网上的教程,写了个自动重启服务端的脚本,在此分享给玩此游戏的玩家(也可以使用crontab,但是我比较懒,就用了脚本的方式)

把超时时间(默认12小时)和游戏启动脚本的路径替换成你自己需要的即可。

注意:直接在windows下新建bash脚本的时候,换行符默认\r\n,需要改为\n才可以在Linux服务器上正常运行。
 
while true
    do
        #先停止上次进程(xxx:应用标识)
        PID=`ps -ef|grep PalServer-Linux|grep -v grep|awk '{print $2}'`
        if [ -n "$PID" ]
        then
        kill -9 $PID
        fi
         
        #脚本启动当前时间
        nowtime=$(date "+%Y-%m-%d %H:%M:%S")
        echo "脚本启动当前时间:$nowtime"
         
        #转为时间戳
        nowtime_stamp=$(date --date="$nowtime" +%s)
        restarttime_stamp=$((nowtime_stamp + 12*3600))
        #启动应用
        nohup su - steam -c "/home/steam/Steam/steamapps/common/PalServer/PalServer.sh" >> test.log 2>&1&
         
        #获取将要休眠的时间(秒)
        sleeptime=$((restarttime_stamp - nowtime_stamp))
        #如果sleeptime小于或等于0
        if [ $sleeptime -le 0 ]
        then
        break
        fi
        echo "休眠:${sleeptime}s"
        #开始等待
        sleep "${sleeptime}s"
    done
autorestartpalworld.zip
e7a123b86044967b04b732d1374bae0c.zip (729 Bytes)
卓越飞翔博客
上一篇: aardio语言封装的【asynHttpServer 扫码传文件】小工具
下一篇: 微软Azure文字转语音sdk封装API
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏