1
This commit is contained in:
parent
8c45440808
commit
7747a757d1
@ -1,14 +0,0 @@
|
|||||||
cd third_party/game2009/server/gameserver
|
|
||||||
#python ../tools/scripts/construct/build_pb.py --nohooks 1
|
|
||||||
cmake -DRELEASE=1 .
|
|
||||||
make clean
|
|
||||||
make
|
|
||||||
cp ../bin/gameserver ../../../../bin/
|
|
||||||
|
|
||||||
cd ../../../../
|
|
||||||
|
|
||||||
tag_name=`git status |grep '# On branch '|sed 's/# On branch //g'`
|
|
||||||
dir_name=`basename $PWD`
|
|
||||||
package_name=${dir_name}.tar.gz
|
|
||||||
|
|
||||||
tar --exclude=*.git -chzf target/${package_name} bin reload.sh restart.sh start_instance.sh manage.py config res
|
|
@ -1,86 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
#coding utf8
|
|
||||||
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import time
|
|
||||||
|
|
||||||
def getRuningProgramPids(progname):
|
|
||||||
pids = []
|
|
||||||
lines = os.popen('ps -ef | grep %s' % progname).readlines()
|
|
||||||
for l in lines:
|
|
||||||
line = ''
|
|
||||||
oldc = ''
|
|
||||||
for c in l.strip():
|
|
||||||
if c in [' ', '\t'] and c == oldc:
|
|
||||||
continue
|
|
||||||
oldc = c
|
|
||||||
line += c
|
|
||||||
line = line.split(' ')
|
|
||||||
|
|
||||||
if line[7] == './%s' % progname:
|
|
||||||
pids.append(line[1])
|
|
||||||
return pids
|
|
||||||
|
|
||||||
def getExePath(pid):
|
|
||||||
return os.popen('ls -l /proc/%d | grep "exe ->" | cut -d " " -f 7-' % int(pid)).read()
|
|
||||||
|
|
||||||
def getExeCmdLine(pid):
|
|
||||||
return os.popen('cat /proc/%d/cmdline' % int(pid)).read()
|
|
||||||
|
|
||||||
def stop(instance_id, node_id, times = 0):
|
|
||||||
if times > 2:
|
|
||||||
return
|
|
||||||
gameserver_ids = getRuningProgramPids('gameserver')
|
|
||||||
pids = gameserver_ids
|
|
||||||
for pid in pids:
|
|
||||||
exepath = getExePath(pid)
|
|
||||||
cmdline = getExeCmdLine(pid)
|
|
||||||
if cmdline == ("./gameserver\0-i\0%d\0-n\0%d\0" % (instance_id, node_id)):
|
|
||||||
os.popen('kill -9 %d' % int(pid))
|
|
||||||
#endfor
|
|
||||||
gameserver_ids = getRuningProgramPids('gameserver')
|
|
||||||
pids = gameserver_ids
|
|
||||||
for pid in pids:
|
|
||||||
exepath = getExePath(pid)
|
|
||||||
cmdline = getExeCmdLine(pid)
|
|
||||||
if cmdline == ("./gameserver\0-i\0%d\0-n\0%d\0" % (instance_id, node_id)):
|
|
||||||
time.sleep(1)
|
|
||||||
stop(instance_id, node_id, times + 1)
|
|
||||||
|
|
||||||
def listServer():
|
|
||||||
gameserver_ids = getRuningProgramPids('gameserver')
|
|
||||||
pids = gameserver_ids
|
|
||||||
for pid in pids:
|
|
||||||
exepath = getExePath(pid)
|
|
||||||
cmdline = getExeCmdLine(pid)
|
|
||||||
print(pid, exepath, cmdline)
|
|
||||||
|
|
||||||
def restartServer(str_instance_ids, str_node_id):
|
|
||||||
instance_ids = str_instance_ids.split(',')
|
|
||||||
node_id = int(str_node_id)
|
|
||||||
for instance_id in instance_ids:
|
|
||||||
instance_id = int(instance_id)
|
|
||||||
stop(instance_id, node_id)
|
|
||||||
time.sleep(0.5)
|
|
||||||
print('gameserver %d starting......' % instance_id)
|
|
||||||
cmd = 'sh start_instance.sh %d %d' % (instance_id, node_id)
|
|
||||||
os.popen(cmd)
|
|
||||||
time.sleep(0.5)
|
|
||||||
|
|
||||||
def printHelp():
|
|
||||||
print('usuage: [restart]')
|
|
||||||
|
|
||||||
def main(argv):
|
|
||||||
if len(argv) == 1:
|
|
||||||
printHelp()
|
|
||||||
else:
|
|
||||||
if argv[1] == 'restart':
|
|
||||||
restartServer(argv[2], argv[3])
|
|
||||||
elif argv[1] == 'stop':
|
|
||||||
stop(argv[2], argv[3])
|
|
||||||
elif argv[1] == 'list':
|
|
||||||
listServer()
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main(sys.argv)
|
|
@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
python manage.py restart $1 $2
|
|
||||||
|
|
||||||
echo 'success'
|
|
@ -1,4 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
cd bin
|
|
||||||
nohup ./gameserver -i $1 -n $2>> gameserver$2_$1.out 2>&1 &
|
|
Loading…
x
Reference in New Issue
Block a user