开发者

Python Twisted Daemon

I have written a simple twisted server -

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)
reacto开发者_如何学JAVAr.run()

This runs fine on 127.0.0.1:8090. Note this this runs in terminal (foreground), when I make the process run in background using nohup & ctrl+Z. the server does not respond to requests. What should I do to daemonize this twisted server


I'd recommend looking into twistd. That way you don't have to worry about handling any of the start up, pid file management, etc. The documentation on their site is quite good: http://twistedmatrix.com/documents/current/core/howto/basics.html. Also check http://twistedmatrix.com/documents/current/core/howto/tap.html for how to implement the application file.


As nmichael and Rakis already mentioned, after "ctrl+z" type "bg" to resume suspended process as a background job.

To run it directly as background job, type

python myserver.py &

To run it directly as background job that won't stop when you logout, type

nohup python myserver.py &

Also note that nohup, is not true deamonization. See the differences here: What's the difference between nohup and a daemon?

If you really want to deamonize your Twisted server, the best option is to use twistd as Mark Loeser answered.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜