code: func (daemon *Daemon) ContainerKill(name string, sig uint64) error {
  	container, err := daemon.GetContainer(name)
  	if err != nil {
  		return err
  	}
  
  	if sig != 0 && !signal.ValidSignalForPlatform(syscall.Signal(sig)) {
  		return fmt.Errorf("The %s daemon does not support signal %d", runtime.GOOS, sig)
  	}
  
  	// If no signal is passed, or SIGKILL, perform regular Kill (SIGKILL + wait())
  	if sig == 0 || syscall.Signal(sig) == syscall.SIGKILL {
  		return daemon.Kill(container)
  	}
  	return daemon.killWithSignal(container, int(sig))
  }
docs: // ContainerKill sends signal to the container
  // If no signal is given (sig 0), then Kill with SIGKILL and wait
  // for the container to exit.
  // If a signal is given, then just send it to the container and return.