func (c *Child) Start() error {
	log.Printf("[INFO] (child) spawning: %s", c.Command())
	c.Lock()
	defer c.Unlock()
	return c.start()
}
func (c *Child) Start() error {
	log.Printf("[INFO] (child) spawning: %s", c.Command())
	c.Lock()
	defer c.Unlock()
	return c.start()
}
func ( c * Child ) Start ( ) error { log . Printf ( " " , c . Command ( ) ) c . Lock ( ) defer c . Unlock ( ) return c . start ( ) }
// 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.
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 .