java 关闭虚拟机_如何使用Oracle VirtualBox Java API关闭虚拟机?

我学习使用VirtualBox

Java API,但文档并不好.

我的代码:

VirtualBoxManager virtualBoxManager = VirtualBoxManager.createInstance(null);

IVirtualBox vbox = virtualBoxManager.getVBox();

List machines= vbox.getMachines();

for (IMachine m : machines) {

System.out.println("Name: " + m.getName() + " OS: " + m.getOSTypeId());

virtualBoxManager.startVm(m.getName(), null, 7000); //Starting a VM

}

virtualBoxManager.cleanup();

我如何阻止虚拟机?

最佳答案

import org.virtualbox_5_0.*;

public class VirtualboxVMStop {

public static void main(String[] args) {

String machineName = "Centos_1";

String url = "http://localhost:18083";

String user = "test";

String passwd = "test";

VirtualBoxManager mgr = VirtualBoxManager.createInstance(null);

mgr.connect(url, user, passwd);

// Get the virtual machine you need to connect to.

IVirtualBox vbox = mgr.getVBox();

IMachine machine = vbox.findMachine(machineName);

ISession session = null;

IProgress prog;

// Determine the status of the virtual machine.

MachineState state = machine.getState();

System.out.println(state);

if (MachineState.Running == state) {

session = mgr.getSessionObject();

machine.lockMachine(session, LockType.Shared);

prog = session.getConsole().powerDown();

prog.waitForCompletion(10000);

session.unlockMachine();

} else {

System.out.println(machineName+" is PoweredOff!");

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值