func (d *VirDomain) Shutdown() error { result := C.virDomainShutdown(d.ptr) if result == -1 { return GetLastError() } return nil }
// Shutdown shuts down a domain, the domain object is still usable thereafter, // but the domain OS is being stopped. Note that the guest OS may ignore the // request. Additionally, the hypervisor may check and support the domain // 'on_poweroff' XML setting resulting in a domain that reboots instead of // shutting down. For guests that react to a shutdown request, the differences // from Destroy() are that the guests disk storage will be in a stable state // rather than having the (virtual) power cord pulled, and this command returns // as soon as the shutdown request is issued rather than blocking until the // guest is no longer running. func (dom Domain) Shutdown() error { dom.log.Println("shutting down domain...") cRet := C.virDomainShutdown(dom.virDomain) ret := int32(cRet) if ret == -1 { err := LastError() dom.log.Printf("an error occurred: %v\n", err) return err } dom.log.Println("domain shut down") return nil }