code: func (daemon *Daemon) ContainerExecInspect(id string) (*backend.ExecInspect, error) {
  	e := daemon.execCommands.Get(id)
  	if e == nil {
  		return nil, errExecNotFound(id)
  	}
  
  	if container := daemon.containers.Get(e.ContainerID); container == nil {
  		return nil, errExecNotFound(id)
  	}
  
  	pc := inspectExecProcessConfig(e)
  
  	return &backend.ExecInspect{
  		ID:            e.ID,
  		Running:       e.Running,
  		ExitCode:      e.ExitCode,
  		ProcessConfig: pc,
  		OpenStdin:     e.OpenStdin,
  		OpenStdout:    e.OpenStdout,
  		OpenStderr:    e.OpenStderr,
  		CanRemove:     e.CanRemove,
  		ContainerID:   e.ContainerID,
  		DetachKeys:    e.DetachKeys,
  		Pid:           e.Pid,
  	}, nil
  }
docs: // ContainerExecInspect returns low-level information about the exec
  // command. An error is returned if the exec cannot be found.