我想知道我的开始选择
./manage.py runworker
在后台。我尝试这样做
python ./manage.py runworker 2>>./daphneWorker.log >&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 &