我之前从未遇到过这个问题因为我总是可以运行开发服务器,在终端中打开一个新标签并从那里卷曲。我现在不能这样做,因为我从Docker容器运行Django Development服务器,所以如果我打开一个新选项卡,我将在本地shell而不是docker容器。
如何让开发服务器保持运行并仍能卷曲或运行其他命令?
当我运行开发服务器时,我留下了这条消息:
Django version 1.10.3, using settings 'test.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
因此无法输入任何命令。
答案 0 :(得分:2)
您可以使用&
将服务器作为当前shell中的后台作业运行:
$ python manage.py runserver &
[1] <pid>
$
您可以使用fg
命令取消对runserver
进程的直接控制,然后您可以像往常一样使用Ctrl+C
停止。
要将前台进程设置为后台作业,可以使用Ctrl+Z
暂停它,然后运行bg
命令。您可以使用jobs
命令在当前shell中查看正在运行的后台作业列表。
与screen
的区别在于它将在当前shell中运行服务器。如果退出shell,服务器也将停止,而screen
使用单独的进程,该进程将在退出当前shell后继续。
答案 1 :(得分:0)
在开发环境中,您也可以执行以下操作。
docker exec -it <Container ID/Name> /bin/bash
它将为您提供对容器的交互式访问,即您可以在容器中而不是在本地shell中执行任何命令。键入exit
以将容器shell输出到本地shell。