位于项目根目录下
run_project.sh
#!/bin/bash
#echo $0 文件名
#echo $1 端口号
is_work=1
# 判断是否存在一个参数:端口号
if [ $# != '1' ]
then
echo "缺少一个参数:端口号 "
is_work=0
fi
# 定义运行函数
run_server(){
#获取端口号
runport=$1
# 判断端口是否被占用,如果占用,杀死进程
port_exit=$(netstat -anpt | grep $runport)
if [ "$port_exit" ]
then
kill -s 9 `ps -ef|grep $runport | grep -v grep | head -2|awk '{print $2}'`
fi
# 判断是否存在celery进程,如果存在,杀死进程
celery_pid_list=$(ps -ef|grep celery | grep -v grep | head -2 | awk '{print $2}')
if [ "$port_exit" ]
then
for celery_pid in $celery_pid_list
do
kill -s 9 $celery_pid
done
fi
# 检查安装依赖包
pip3 install -r requirements.txt
# 数据库迁移
python3 manage.py makemigrations
python3 manage.py migrate
# 守护进程方式 启动celery
python3 manage.py celery multi start w1 -A QAPlatform --loglevel=info
# 启动项目
python3 manage.py runserver 0.0.0.0:$runport &
echo "启动成功"
}
if [ $is_work -eq '1' ]
then
#执行启动函数
run_server $1
fi
网友评论