code: func (c *Child) Kill() {
  	log.Printf("[INFO] (child) killing process")
  	c.Lock()
  	defer c.Unlock()
  	c.kill()
  }
docs: // Kill sends the kill signal to the child process and waits for successful
  // termination. If no kill signal is defined, the process is killed with the
  // most aggressive kill signal. If the process does not gracefully stop within
  // the provided KillTimeout, the process is force-killed. If a splay was
  // provided, this function will sleep for a random period of time between 0 and
  // the provided splay value to reduce the thundering herd problem. This function
  // does not return any errors because it guarantees the process will be dead by
  // the return of the function call.