在后台启动./manage.py runworker

时间:2019-03-24 00:46:47

标签: django linux django-channels

我想知道我的开始选择

 ./manage.py runworker 

在后台。我尝试这样做

python ./manage.py runworker 2>>./daphneWorker.log >&2

但这似乎也不起作用。关于如何使其在后台运行的任何建议?

2 个答案:

答案 0 :(得分:2)

我总是使用screen工具来完成这类工作。这是一个虚拟终端,即使您的ssh断开连接,它也始终可以运行。

首先使用screen命令在同一shell中创建屏幕窗口。只需按Enter或空格键,它将显示您一堆信息。比您想出您的类似终端。在该终端上启动您的应用:

./manage.py runworker

现在您的应用程序正在运行,您可以使用ctrl+a d从屏幕窗口分离。 这将使您返回到您的真实终端。 如果要返回在后台运行的分离屏幕窗口,请键入screen -dr,或者如果您有多个分离屏幕窗口,请先使用screen -ls列出所有分离窗口,然后重新附加所需的窗口screen -r [number_of_window]。完成后,您可以使用ctrl+a k从屏幕窗口中杀死屏幕窗口。

答案 1 :(得分:0)

您可以使用nohup使其在后台运行。

nohup python manage.py runserver 0.0.0.0:80 &
  

nohup 防止在您执行命令时自动中止命令   注销或退出外壳。

为了停止在端口80上运行服务器的进程

netstat -nlp | grep :80

上面的命令为您提供了processId或PID

然后:

kill PID

如果您想记录输出

nohup python manage.py runserver 0.0.0.0:80 > myLog.out &