Ich benutze einen Clode-Server, um mein kleines Projekt zu testen, ich gebe manage.py runserver & ein, und dann logge ich meinen Cloud-Server aus, kann ich mysite besuchen Normalerweise, aber wenn ich meinen Cloud-Server neu lade, weiß ich nicht, wie ich den Entwicklungsserver stoppen soll. Ich musste den Prozess beenden, um ihn zu stoppen. Gibt es trotzdem eine Möglichkeit, die Entwicklung zu stoppen?django Entwicklungsserver, wie man es stoppt, wenn es im Hintergrund läuft
Antwort
Die Antwort ist über Google auffindbar - und in anderen Foren beantwortet. Beispiellösung ist available on the Unix & Linux StackExchange site.
Um explizit sein, die Sie tun können:
ps auxw | grep runserver
Dies wird den Prozess und seine jeweiligen PID, wie zurückgeben:
de 7956 1.8 0.6 540204 55212 ? Sl 13:27 0:09 /home/de/Development/sampleproject/bin/python ./manage.py runserver
In diesem speziellen Fall ist die PID ist 7956
. Jetzt brauchen Sie nur diese laufen, es zu stoppen:
kill 7956
Und klar sein/adressieren einige der Kommentare, haben Sie es auf diese Weise zu tun, weil Sie den Entwicklungsserver im Hintergrund laufen lassen (die &
in Ihrem Befehl). Aus diesem Grund gibt es keine "eingebaute" Django-Stopp-Option ...
Können Sie den Job mit 'fg' in der Befehlszeile in den Vordergrund bringen? Ich wechselte meinen zu bg und dann zurück zu fg. Dann stoppt CONTROL-C den Job vollständig. Wenn ich meinen Server starte, druckt es ein paar Zeilen Text, der letzte ist "Beenden Sie den Server mit CONTROL-C." 01. Februar 2018 - 20:31:32 Django Version 2.0.1, unter Verwendung der Einstellungen 'mysite.settings' Starten des Entwicklungsservers unter http://127.0.0.1:8000/ Beenden Sie den Server mit CONTROL-C. –
@the_cat_lady das ist auch ein guter Vorschlag! Ich würde sagen, das rechtfertigt seine eigene Antwort, da es eine andere Art ist, es zu tun ... – user
Soweit ich weiß ctrl + c oder Kill-Prozess ist nur Möglichkeiten, das auf Remote-Maschine zu tun. Wenn Sie Gunicorn Server oder etwas Ähnliches verwenden, können Sie das mit Supervisor tun.
Danke, ich habe meine Abschlussprüfung vorbereitet. Es war spät für mich, danke zu sagen – bricks
@bricks U sind willkommen. – wolendranh
die Art, wie Sie Antwort sieht aus wie ein Chinese ~ bin ich richtig – bricks
Nun, es scheint, dass es ein Fehler ist, dass django keinen Befehl zum Stoppen des Entwicklungsservers bereitgestellt hat. Ich dachte, es hätte eine vorher ~~~~~
Mein ISP bietet eine sehr begrenzte Shell, die mich auf einige Befehle wie "kill" und sogar "ps" bringt :) Obwohl ich kann leicht auszuführen Python manage.py ... Es ist schade, ein Support-Ticket jedes Mal, wenn ich einen einzigen Befehl ausführen muss. Also stimme ich zu - es ist ein Muss, den Server stoppen zu können –
Das ist eine gute Frage. Ja, wir alle wissen, wie man einen Prozess abbricht, aber wenn ein Dienst eine Startoption bietet, gehen Sie davon aus, dass Sie etwas nicht wissen ... und suchen nach einem Stopp. Es ist eher ein Versehen, dass Django dieses Paradigma bricht. – KateYoak