我创建了以下函数来关闭cherrypy
import cherrypy
cherrypy.engine.exit()文件名:shutdown.py。然后在命令行中输入命令python shutdown.py。出现了以下消息:
[06/Sep/2014:11:28:22] ENGINE Bus STOPPING
[06/Sep/2014:11:28:22] ENGINE HTTP Server None already shut down
[06/Sep/2014:11:28:22] ENGINE No thread running for None.
[06/Sep/2014:11:28:22] ENGINE No thread running for None.
[06/Sep/2014:11:28:22] ENGINE Bus STOPPED
[06/Sep/2014:11:28:22] ENGINE Bus EXITING
[06/Sep/2014:11:28:22] ENGINE Bus EXITED然而,CherryPy仍然在运行。那么我如何关闭CherryPy呢?
另外,如果多个cherrypy服务器同时运行,怎么办?shutdown.py会杀死他们所有人吗?
发布于 2014-09-06 15:32:39
CherryPy应用程序包含在普通的process中。要将CherryPy应用程序视为服务器(例如mysql、nginx等,您可以使用/etc/init.d/mysql stop),您应该相应地部署它。
对于特殊情况,只需告诉切里用--pidfile保存pid文件,或者直接将PIDFile plugin集成到代码中即可。那就只有kill `cat /path/to/pidfile`。
要获得全面部署,请改为这个答案。
发布于 2020-11-05 17:03:56
这个问题是6年前提出的,但我想回答一些重要的问题。关闭Cherrypy服务器的最佳方法是在代码中设置以下配置:
cherrypy.config.update({ 'server.shutdown_timeout': 1 })通过这种方式,您可以确定服务器正在关闭,您可以在这个问题中看到更多关于这一点的信息。所以我希望这能帮上忙。
https://stackoverflow.com/questions/25696517
复制相似问题