shell 脚本启动 flask

匿名 (未验证) 提交于 2019-12-02 23:41:02
#!/usr/bin/env bash# 第一行是说明使用的什么脚本语言,这里是 bash, 固定用法# workdir 是一个路径,即先切换到这个目录下,然后启动服务 (启动命令: python app.py)。其实不切换应该也可以 workdir=/Users/llm/PycharmProjects/solar-clover-backend # 启动函数,切换路径=》其实就是 python app.py 。 前面一段指明是哪个路径下的python, 后面是 app.py 的路径, & 表示以后台方式启动(这里还不是很了解) daemon_start() {     cd $workdir     /Users/llm/env_workspaces/flask/bin/python /Users/llm/PycharmProjects/solar-clover-backend/app.py &     echo "Server started." } # 停止函数,思路就是我们要找到这个进程号,然后把它 kill 掉# 进程号寻找: 即 ps -ef|grep 命令, grep 用来过滤,awk 用来将过滤结果进行整理。 像这个命令,过滤出来有很多列,但我们只要进程号那一列,所以就是 {print $2}, 表示进程号那一列# BEGIN{ ORS="," } 表示以逗号分隔每个进程号, 不写默认换行符分隔。# 输出其实是一个字符串, 把它变为数组,因为我要取出第一个将进程杀死。 arr=... 这句话就是将 pid 变量里的内容转换为数组,存入arr。# 接下来就是取到 arr 第一个进程号, 使用 kill 命令杀死 daemon_stop() {     pid=`ps -ef | grep 'python /Users/llm/PycharmProjects/solar-clover-backend/app.py' | awk 'BEGIN{ ORS="," }{ print $2 }'`     arr=(`echo ${pid} | tr ',' ' '`)     echo ${arr[1]}     kill ${arr[1]}     sleep 3     echo "Server killed." } # $1 表示命令行交互输入的第一个参数。 我们使用 ./dev.sh start 来运行脚本启动服务(因为此脚本文件名称为 dev.sh), start 位置上的变量就是传入的第一个位置上的参数,也可以变为 stop, restart case "$1" in   start)     daemon_start     ;;   stop)     daemon_stop     ;;   restart)     daemon_stop     daemon_start     ;;   *)     echo "Usage: ./dev.sh {start|stop|restart}"     exit 1 esac exit 0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!