Python Twisted Daemon
-
30-09-2019 - |
質問
シンプルなねじれたサーバーを書きました -
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
. 。サーバーはリクエストに応答しません。このねじれたサーバーをデイカ化するにはどうすればよいですか
解決
NmichaelとRakisがすでに述べたように、「Ctrl+Z」タイプ「BG」の後、バックグラウンドジョブとして停止プロセスを再開しました。
バックグラウンドジョブとして直接実行するには、入力します
python myserver.py &
ログアウト時に停止しないバックグラウンドジョブとして直接実行するには、入力してください
nohup python myserver.py &
また、それに注意してください nohup
, 、真の偏見ではありません。ここで違いを参照してください: ノハップとデーモンの違いは何ですか?
あなたが本当にあなたのツイストサーバーを退化させたいなら、最良の選択肢は使用することです twistd
Mark Loeserが答えたように。
他のヒント
TwistDを調べることをお勧めします。そうすれば、起動、PIDファイル管理などの処理について心配する必要はありません。彼らのサイトのドキュメントは非常に良いです。 http://twistedmatrix.com/documents/current/core/howto/basics.html. 。また、確認してください http://twistedmatrix.com/documents/current/core/howto/tap.html アプリケーションファイルを実装する方法。
所属していません StackOverflow