【问题标题】:Django Dev. Server Refuses to QuitDjango 开发人员。服务器拒绝退出
【发布时间】:2012-12-13 05:36:37
【问题描述】:

Django 的开发服务器表现得很奇怪。访问它的浏览器在加载时卡住了,任何退出它的尝试都不起作用。当我点击control c 时,它似乎相当,但实际上仍在运行。让它退出的唯一方法是重新启动我的计算机,这非常令人沮丧。有什么办法可以强制退出。我在一个运行山狮的mac上。有谁知道它运行的进程的名称被调用,所以我可以强制它退出活动监视器。

【问题讨论】:

  • 每个人说没有 django“进程”。这只是一天结束的 Python 代码。您可能想杀死 manage.py 命令或您正在运行 django 应用程序的服务器。
  • @karthikr 我的意思是运行服务器的进程。
  • 是的,这就是我所指的

标签: django macos osx-mountain-lion web-development-server activity-monitor


【解决方案1】:

假设你用来运行 django 的命令是:

python manage.py runserver

你可以杀死它:

pkill -f 'python manage.py runserver'

这比killall python 好得多,因为其他程序可能正在使用python,这会杀死它们。

【讨论】:

    【解决方案2】:

    Django运行在Python进程中(有时不止1个),可以使用

    killall python
    

    或者,从活动监视器中,只需杀死其中包含 Python 的任何内容。不过,在一天结束时,manage.py runserver 命令只会创建一个新的(通常是按顺序编号的)Python 进程。唯一一次停止所有 python 进程可能是一个问题,如果您从计算机上运行超过 1 个 python 服务,在这种情况下,您可能需要编辑 django-admin.py 并查看让它创建一个命名进程。

    【讨论】:

    • 这是个坏主意。你永远不知道在 python 下还有哪些其他应用程序正在运行。使用 PS 找出 manage.py 命令的 PID,并自行终止该进程。如果正常杀死不起作用,您可以执行kill -SIGKILL 987(其中 987 是您的 manage.py 命令的 PID。)通常,如果 Ctrl-C 不起作用,单独杀死(或 killall)将不起作用.
    • 绝对是个坏主意。其他程序可以使用python。
    猜你喜欢
    • 2015-09-01
    • 2018-02-05
    • 2011-11-29
    • 2015-12-21
    • 2014-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多