code: func (c *Child) Start() error {
  	log.Printf("[INFO] (child) spawning: %s", c.Command())
  	c.Lock()
  	defer c.Unlock()
  	return c.start()
  }
docs: // Start starts and begins execution of the child process. A buffered channel
  // is returned which is where the command's exit code will be returned upon
  // exit. Any errors that occur prior to starting the command will be returned
  // as the second error argument, but any errors returned by the command after
  // execution will be returned as a non-zero value over the exit code channel.