flask运维脚本(长时间运行)

flask项目每次开启完总会自动关闭了。
听闻远方哥(QQ25008793)给我手写了一个脚本。。。。牛逼的一批。。

后台运行并且Shell退出程序依然运行使用命令:

nohup app.py & 在实际过程中,我们一般用脚本,另外就是用 docker k8s 自动编排。

给你写一个脚本。

脚本上传到这个目录就可以使用了,方式

sh ./start.sh start

start.sh代码如下:

function start(){
  if [ ! -d 'venv' ]; then
    python3 -m venv venv
  fi

  source venv/bin/activate

  # requirements.txt
  if [ ! -e 'requirements.txt' ]; then
    echo 'error: "requirements.txt" file not found!'
    exit
  fi

  pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  nohup python app.py & echo $! > app.pid
  echo "run app.py pid:$(cat app.pid)"
}

function stop() {
  if [ -e 'app.pid' ]; then
    pid=$(cat app.pid)
    rm -rf 'app.pid'
    for line in $(ps -ef|grep python|awk '{print $2}')
    do
      if [ $pid = $line ]; then
        echo "kill: $pid"
        kill $pid
      fi
    done
  fi
}

function status() {
    if [ -e 'app.id' ]; then
      pid=$(cat 'app.id')
      for line in $(ps -ef|grep python|awk '{print $2}')
      do
        if [ $pid = $line ]; then
          echo "app.py     ok    $pid"
        fi
      done
    fi
}

function main(){
  command=$1
  case command in
  'start')
    start
  ;;
  'stop')
    stop
  ;;
  'restart')
    stop
    start
  ;;
  'status')
    status
  ;;
  *)
    echo '--------------------------命令列表--------------------------'
    echo '|              start                    启动               |'
    echo '|              stop                     停止               |'
    echo '|              restart                  重启               |'
    echo '|              status                   状态               |'
    echo '-----------------------------------------------------------'
  ;;
}

# --------------------------

main $*
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方-教育技术博主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值