code: func (k *keepalived) Start() {
  	ae, err := k.ipt.EnsureChain(iptables.TableFilter, iptables.Chain(iptablesChain))
  	if err != nil {
  		glog.Fatalf("unexpected error: %v", err)
  	}
  	if ae {
  		glog.V(2).Infof("chain %v already existed", iptablesChain)
  	}
  
  	k.cmd = exec.Command("keepalived",
  		"--dont-fork",
  		"--log-console",
  		"--release-vips",
  		"--pid", "/keepalived.pid")
  
  	k.cmd.Stdout = os.Stdout
  	k.cmd.Stderr = os.Stderr
  
  	k.started = true
  
  	if err := k.cmd.Start(); err != nil {
  		glog.Errorf("keepalived error: %v", err)
  	}
  
  	if err := k.cmd.Wait(); err != nil {
  		glog.Fatalf("keepalived error: %v", err)
  	}
  }
docs: // Start starts a keepalived process in foreground.
  // In case of any error it will terminate the execution with a fatal error