正常退出SimpleXMLRPCServer应用程序

时间:2013-09-17 23:32:53

标签: python xmlrpclib simplexmlrpcserver

我正在尝试使用SimpleXMLRPCServer创建一个小应用程序,我想知道如何在接收SIGTERM时正确退出它。

原因是因为我稍后会为应用程序创建一个启动/停止脚本,我希望它在停止之前执行各种操作。

我目前的代码是:

import SimpleXMLRPCServer
import signal
import sys

if __name__ == "__main__":
    print "setting up xmlrpc server"
    server = SimpleXMLRPCServer.SimpleXMLRPCServer(("localhost", 8000))

    def signal_handler(signum, frame):
        print "received signal"
        server.server_close()

        # perform clean up, etc. here...

        print "exiting, gracefully"
        sys.exit(0)

    # signals
    signal.signal(signal.SIGTERM, signal_handler)
    signal.signal(signal.SIGHUP, signal_handler)
    signal.signal(signal.SIGINT, signal_handler)

    print "serving forever"
    server.serve_forever()

它正在运作,但我不太确定我是以“正确”的方式做到这一点。有什么想法或想法吗?

此外,还有其他任何我应该收听的信号吗?

0 个答案:

没有答案