pub async fn restart(&self) {
        if self._is_transition_restart()
            && *self.manage_container.desired_state().borrow() == StartStop::Stop
        {
            return;
        }
        if self.manage_container.desired_state().borrow().is_start() {
            self._transition_replace(self._transition_restart()).await;
        }
    }
awaiting this does not wait for the restart to complete
core/startos/src/manager/mod.rs