child/child.go
func (c *Child) Kill() {
	log.Printf("[INFO] (child) killing process")
	c.Lock()
	defer c.Unlock()
	c.kill()
}
func (c *Child) Kill() {
	log.Printf("[INFO] (child) killing process")
	c.Lock()
	defer c.Unlock()
	c.kill()
}
func ( c * Child ) Kill ( ) { log . Printf ( " " ) c . Lock ( ) defer c . Unlock ( ) c . kill ( ) }
// 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.
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 .