Python Twisted-Daemon
-
30-09-2019 - |
Frage
Ich habe einen einfacher Twisted-Server geschrieben -
from twisted.internet import reactor
from twisted.internet import protocol
from twisted.web import server, resource
from twisted.internet import reactor
class Index(resource.Resource):
isLeaf = True
def render_GET(self, request):
args = request.args
print 'Args: %s' %(repr(args))
print 'Serving on PORT: 8090'
site = server.Site(Index())
reactor.listenTCP(8090, site)
reactor.run()
Das läuft gut auf 127.0.0.1:8090
. Beachten Sie dieses Bild Dies läuft im Terminal (im Vordergrund), wenn ich den Prozess im Hintergrund läuft mit nohup
& ctrl+Z
machen. der Server reagiert nicht auf Anfragen. Was soll ich tun, um diesen verdrehten Server daemonize
Lösung
Wie nmichael und Rakis bereits erwähnt, nach „Strg + Z“ Typ „bg“ suspendierte Prozess als Hintergrundjob fortzusetzen.
Um es direkt als Hintergrundjob auszuführen, geben Sie
python myserver.py &
Um es direkt als Hintergrundjob ausführen, die nicht aufhören wird, wenn Sie abmelden möchten, geben Sie
nohup python myserver.py &
Sie auch, dass nohup
beachten Sie, ist nicht wahr deamonization. Sehen Sie die Unterschiede hier: Was ist der Unterschied zwischen nohup und Daemon ? a>
Wenn Sie wirklich Ihr Verdrehte Server wollen deamonize, die beste Option zu verwenden ist twistd
als Mark Loeser beantwortet.
Andere Tipps
Ich würde empfehlen, in Twistd suchen. So können Sie über den Umgang mit einer der zur Sorge haben nicht starten, pid-Datei-Management, etc. Die Dokumentation auf ihrer Website ist recht gut: http://twistedmatrix.com/documents/current/core/howto/basics.html . Überprüfen Sie auch http://twistedmatrix.com/documents/current/core/howto/tap .html wie die Anwendungsdatei zu implementieren.