2

私は単純なねじれたサーバーを書きました -

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。サーバーはリクエストに応答しません。このねじれたサーバーをデーモン化するにはどうすればよいですか

4

2 に答える 2

9

ツイストを調べることをお勧めします。そうすれば、スタートアップやpidファイル管理などの処理について心配する必要はありません。彼らのサイトのドキュメントは非常に優れています:http://twistedmatrix.com/documents/current/core/howto/basics。 html。また、アプリケーションファイルの実装方法については、http://twistedmatrix.com/documents/current/core/howto/tap.htmlを確認してください。

于 2011-01-06T17:58:32.100 に答える
3

nmichael と Rakis が既に述べたように、"ctrl+z" の後に "bg" を入力して、中断されたプロセスをバックグラウンド ジョブとして再開します。

バックグラウンド ジョブとして直接実行するには、次のように入力します。

python myserver.py &

ログアウトしても停止しないバックグラウンド ジョブとして直接実行するには、次のように入力します。

nohup python myserver.py &

またnohup、 は真の悪魔化ではないことに注意してください。ここで違いを参照してください: nohup とデーモンの違いは何ですか?

本当に Twisted サーバーを悪魔化したい場合はtwistd、Mark Loeser が答えたように使用するのが最善の方法です。

于 2011-01-09T12:30:30.860 に答える