24 lines
660 B
Ruby

# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: BUSL-1.1
module VagrantPlugins
module GuestSUSE
module Cap
class Halt
def self.halt(machine)
begin
if machine.communicate.test("test -e /usr/bin/systemctl")
machine.communicate.sudo("/usr/bin/systemctl poweroff &")
else
machine.communicate.sudo("/sbin/shutdown -h now &")
end
rescue IOError, Vagrant::Errors::SSHDisconnected
# Do nothing, because it probably means the machine shut down
# and SSH connection was lost.
end
end
end
end
end
end