我有一个运行 HAProxy 1.5.x 的 RHEL 7 机器。我希望能够正常关闭它,以便 keepalived 可以故障转移到集群上的另一个节点并获取 VIP。如果我手动在 systemd 之外终止该进程,我就可以做到这一点
kill -USR1 $myPid
但是,我想通过 systemd 来执行此操作。例如
systemctl kill haproxy --signal=USR1
但是当我执行此操作时,它会终止“haproxy-systemd-wrapper”以及 haproxy 实例。有没有办法告诉它只向 haproxy 实例发送信号?我尝试添加 --kill-who=control,但子进程显然不是控制进程,因此它只是出错了。
答案1
强力方法是:killall -TERM haproxy。我相信有更优雅的方法来实现这一点。希望这能有所帮助。
答案2
我可能回答得太晚了,但这可能对那些来找这个问题的人有帮助。这个对我有用。
sudo /etc/init.d/haproxy stop