code: func (process *TeleportProcess) WaitWithContext(ctx context.Context) {
  	local, cancel := context.WithCancel(ctx)
  	go func() {
  		defer cancel()
  		process.Supervisor.Wait()
  	}()
  	select {
  	case <-local.Done():
  		return
  	}
  }
docs: // WaitWithContext waits until all internal services stop.