<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def start(self, http_daemon=None):
 # pylint: disable=unused-argument """Actually restart the process if the module is external Try first to stop the process and create a new Process instance with target start_module. Finally start process. :param http_daemon: Not used here but can be used in other modules :type http_daemon: None | object :return: None """


        if not self.is_external:
            return

        if self.process:
            self.stop_process()
        logger.info("Starting external process for module %s...", self.name)
        proc = Process(target=self.start_module, args=(), group=None)

        # Under windows we should not call start() on an object that got its process
        # as an object, so we remove it and we set it in a earlier start
        try:
            del self.properties['process']
        except KeyError:
            pass

        proc.start()
        # We save the process data AFTER the fork()
        self.process = proc
        self.properties['process'] = proc
        logger.info("%s is now started (pid=%d)", self.name, proc.pid)