def cli_command_restart(self, msg):
info = '<STR_LIT>'<EOL>if self.state == State.RUNNING and self.sprocess and self.sprocess.proc:<EOL><INDENT>self.state = State.RESTARTING<EOL>self.sprocess.set_exit_callback(self.proc_exit_cb_restart)<EOL>self.sprocess.proc.kill()<EOL>info = '<STR_LIT>'<EOL><DEDENT>return info<EOL>
\
        restart the subprocess
        i. we set our state to RESTARTING - on restarting we still send heartbeat
        ii. we kill the subprocess
        iii. we start again
        iv. if its started we set our state to RUNNING, else we set it to WAITING

        :param msg:
        :return: