gunicorn+flask+centos启动flask脚本
#启动指定端口数量的screen,并运行flask程序 import commands import os ip="10.1.1.96" gunicorn_port_list=[5000,5001,5002] def get_screen_id_list(): result,content=commands.getstatusoutput('screen -ls|grep gunicorn') content=content.replace('.gunicorn\t(Detached)','') content=content.replace('\t','') content=content.replace('\n',',') ls=content.split(',') return ls def create_screen(): for i in range(len(gunicorn_port_list)): #创建n个screen程序 os.system("screen -dmS gunicorn") def send_commands(): current_screen_list=get_screen_id_list() for port,screen_id in zip(gunicorn_port_list,current_screen_list): os.system("screen -x -S {0} -p 0 -X stuff $'cd /var/wsdd'".format(screen_id)) os.system("sleep 1") os.system("screen -x -S {0} -p 0 -X stuff $'\n'".format(screen_id)) os.system("sleep 1") os.system("screen -x -S {0} -p 0 -X stuff $'gunicorn -w 4 -b {1}:{2} manage:app –preload'".format(screen_id,ip,port)) os.system("sleep 1") os.system("screen -x -S {0} -p 0 -X stuff $'\n'".format(screen_id)) def kill_all_screen(): screen_ls=get_screen_id_list() for item in screen_ls: os.system("sleep 1") os.system("screen -X -S {0} quit".format(item)) os.system("sleep 1") os.system("screen -wipe") os.system("sleep 1") os.system("killall gunicorn") if __name__ == '__main__': kill_all_screen() create_screen() send_commands()