把超时时间(默认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