nohup 后台启动 uvicorn(仅测试 / 临时运行)

 

场景:Linux 服务器,项目使用 python 虚拟环境,uvicorn app.main:app --host 0.0.0.0 --port 8000为前台运行,关闭 SSH 终端服务就停止。uvicorn 新版本不支持自带 daemon 守护参数,有两种主流实现方式。

1、nohup(适合测试、临时运行)

命令直接后台执行,输出重定向日志文件,关闭 ssh 会话进程不退出。
 
 
nohup uvicorn app.main:app --host 0.0.0.0 --port 8000 > uvicorn.log 2>&1 &

 

  • 查看日志:tail -f uvicorn.log
  • 查看进程:ps -ef | grep uvicorn
  • 停止服务:kill -9 PID
  • 缺点:服务器重启不会自动启动;程序崩溃不会自动恢复。
  • ​nohup:脱离 SSH 终端;> uvicorn.log 2>&1:输出、错误写入日志;末尾&放入后台。

    常用操作

     

    # 实时看日志
    tail -f uvicorn.log
    
    # 查询uvicorn进程PID
    ps -ef | grep uvicorn
    
    # 停止服务,替换为查到的PID
    kill -9 PID

    缺点

    服务器重启不会自动启动;程序异常崩溃不会自动拉起。生产不要使用。​

微信图片_20260323111800_82_204

 

posted @ 2026-09-30 10:03  程序员食堂  阅读(10)  评论(0)    收藏  举报