django后台运行runserver

1.前言

django的runserver是一个简易的wed服务器,功能主要侧重于开发调试。不过有的缺点就是,我们运行 python3 manage.py runserver 0.0.0.0:8001 后必须一致开着shell窗口,不然服务就退出了。有没方法解决这个问题呢?答案是,有的,nohup 命令。

nohup python3 /www/business_district/manage.py runserver 0.0.0.0:8001 > /home/stat.log  2&>1 &

基本命令:

  • nohup放到命令开头表示不挂起,表示即使退出终端该进程也不会掉
  • & 放在命令到结尾,表示后台运行

参数部分:

  • 0 表示stdin标准输入
  • 1 表示stdout标准输出
  • 2 表示stderr标准错误
  • 2>&1标识将错误输出重定向到标准输出,注意>& 不能分开

2.什么是nohup 和 &

nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

nohup 是 no hang up 的缩写,就是不挂断的意思。

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。

3.命令的常见形式

形式一:

nohup python3 /www/business_district/manage.py runserver 0.0.0.0:8001

表示程序一直执行,不被挂起,表示即使退出终端该进程也不会掉

形式二:

nohup python3 /www/business_district/manage.py runserver 0.0.0.0:8001 &

表示程序在后台运行,并且一直执行

形式三:

nohup python3 /www/business_district/manage.py runserver 0.0.0.0:8001 > /home/stat.log  2&>1 &

表示程序在后台运行,一直执行,并且把日志输入到/home/stat.log

你可能感兴趣的:(Python,Django,django,python,后端)