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
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.