Закройте SimpleXMLRPCServer

#python #xml-rpc #simplexmlrpcserver

Вопрос:

Я использую PyQt5 для графического интерфейса. Графический интерфейс может запустить SimpleXMLRPCServer с помощью кнопки. Мне также нужна кнопка, чтобы снова остановить SimpleXMLRPCServer. Мой код выглядит так:

     def btStartClicked(self):      
        self._Server = SimpleXMLRPCServer(
            ("localhost", 5556), requestHandler=RequestHandler, allow_none=True
        )
        self.serverTask = threading.Thread(target=self.startServer)
        self.serverTask.start()

    def btStopClicked(self):
        self.shutdowntask = threading.Thread(target=self.shutdownServer).start()
        self.serverTask.join()

    def shutdownServer(self):
        self._Server.shutdown()

    def startServer(self):
        self.Server.register_introspection_functions()
        self.Server.register_instance(Server())
        self.Server.serve_forever()
 

Когда я нажимаю кнопку «Стоп», сервер завершает работу, но запускается снова с новым идентификатором PID. Как мне выйти из сервера раз и навсегда?