Python Twisted Daemon
Я написал простой витой сервер -
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()
Это работает нормально на 127.0.0.1:8090
, Обратите внимание, это выполняется в терминале (на переднем плане), когда я запускаю процесс в фоновом режиме, используя nohup
& ctrl+Z
, сервер не отвечает на запросы. Что я должен сделать, чтобы демонизировать этот витой сервер
2 ответа
Как уже упоминали nmichael и Rakis, после "ctrl+z" введите "bg", чтобы возобновить приостановленный процесс в качестве фонового задания.
Чтобы запустить его как фоновое задание, введите
python myserver.py &
Чтобы запустить его как фоновое задание, которое не прекратится при выходе из системы, введите
nohup python myserver.py &
Также обратите внимание, что nohup
Это не правда деамонизация. Посмотрите на различия здесь: в чем разница между nohup и демоном?
Если вы действительно хотите деамонизировать ваш Twisted сервер, лучше всего использовать twistd
как ответил Марк Лозер.
Я бы порекомендовал посмотреть в твист. Таким образом, вам не нужно беспокоиться об управлении запуском, управлением файлами pid и т. Д. Документация на их сайте довольно хорошая: http://twistedmatrix.com/documents/current/core/howto/basics.html. Также проверьте http://twistedmatrix.com/documents/current/core/howto/tap.html как реализовать файл приложения.