<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) -> None: """ Starts a subprocess. Optionally routes its output to our disk logs. """

        if self.running:
            return
        self.info("Starting: {} (with logs stdout={}, stderr={})".format(
            self.details.procargs,
            self.details.logfile_out,
            self.details.logfile_err))
        self.open_logs()
        creationflags = CREATE_NEW_PROCESS_GROUP if WINDOWS else 0
        # self.warning("creationflags: {}".format(creationflags))
        self.process = subprocess.Popen(self.details.procargs, stdin=None,
                                        stdout=self.stdout, stderr=self.stderr,
                                        creationflags=creationflags)
        self.running = True