8

私はwin7で、チュートリアルhelloworld.pyを開始しましたが、すべて正常に動作していますが、サービスを終了する方法がわかりません.i使用

quit()

コマンドラインでエラーメッセージが表示されて終了しますが、サービスはまだ実行されており、8080ポートを使用しています。手動でシャットダウンする方法が見つかりませんでした。

  File "C:\python32\lib\site-packages\cherrypy\process\wspbus.py", line 197, in
publish
    output.append(listener(*args, **kwargs))
  File "C:\python32\lib\site-packages\cherrypy\_cpserver.py", line 151, in start

    ServerAdapter.start(self)
  File "C:\python32\lib\site-packages\cherrypy\process\servers.py", line 167, in
 start
    wait_for_free_port(*self.bind_addr)
  File "C:\python32\lib\site-packages\cherrypy\process\servers.py", line 410, in
 wait_for_free_port
    raise IOError("Port %r not free on %r" % (port, host))
IOError: Port 8080 not free on '0.0.0.0'
4

2 に答える 2

7

これを python ファイルに含めます。

@cherrypy.expose

def shutdown(self):  
    cherrypy.engine.exit()

次に、ページにリンクを追加します。

<a id="shutdown"; href="./shutdown">Shutdown Server</a>
于 2013-04-23T00:49:54.417 に答える
7

このページによると、quit()はこのタスクには適していません。

サーバーの実行方法に応じて、次の使用を検討する必要がありますcherrypy.engine.exit

>>> help(cherrypy.engine.exit)
exit(self) method of cherrypy.process.win32.Win32Bus instance
    Stop all services and prepare to exit the process.
于 2012-08-28T09:07:59.450 に答える