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)
reactor.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
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
To run it directly as background job that won't stop when you logout, type
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
twistdas Mark Loeser answered.