def run(self):
cmd_args = shlex.split(self.run_cmd)<EOL>logger.info('<STR_LIT>', self.run_rank)<EOL>logger.info('<STR_LIT>' + str(cmd_args))<EOL>self.ts_start = time.strftime("<STR_LIT>")<EOL>try:<EOL><INDENT>self.process = subprocess.Popen(cmd_args, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=<NUM_LIT:1>)<EOL>if self.kill_after_seconds:<EOL><INDENT>self.timer = Timer(self.kill_after_seconds, self.kill)<EOL>self.timer.start()<EOL><DEDENT>for line in iter(self.process.stdout.readline, b'<STR_LIT>'):<EOL><INDENT>logger.info(line.strip())<EOL><DEDENT>self.process.communicate()<EOL><DEDENT>except KeyboardInterrupt:<EOL><INDENT>logger.warning('<STR_LIT>')<EOL>self.kill()<EOL><DEDENT>if self.timer:<EOL><INDENT>self.timer.cancel()<EOL><DEDENT>self.ts_end = time.strftime("<STR_LIT>")<EOL>logger.info('<STR_LIT>')<EOL>logger.info('<STR_LIT>' + self.ts_start + '<STR_LIT>' + self.ts_end)<EOL>
Run the command, infer time period to be used in metric analysis phase.
:return: None