【问题标题】:how I can send a instruction to the VM virtualbox with subprocess.call? [closed]如何使用 subprocess.call 向 VM 虚拟机发送指令? [关闭]
【发布时间】:2018-01-23 14:38:55
【问题描述】:

我在 virtualbox 中有一个虚拟机,我可以用 python 启动机器

subprocess.call(["C:\...\VBoxManage.exe", "startvm", "my_vm"])

如何运行知道位于桌面上的 abc.exe? 使用下面的说明是不可能的..

subprocess.call(["C:\...\VBoxManage.exe", "guestcontrol", "my_vm", "run C:\\Users\\abc.exe"])

【问题讨论】:

    标签: python python-3.x subprocess virtualbox


    【解决方案1】:

    run 是关键字参数,因此请将其设置为列表中的单独项目。

    subprocess.call(["C:\...\VBoxManage.exe", "guestcontrol", "my_vm", "run", "C:\\Users\\abc.exe"])
    

    在 Virtualbox 文档的第二次审查中,它引用了:

    运行[常用选项]
    [--exe ] [--timeout ]
    [-E|--putenv [=]] [--unquoted-args]
    [--ignore-operhaned-processes] [--no-profile]
    [--no-wait-stdout|--wait-stdout] [--no-wait-stderr|--wait-stderr]
    [--dos2unix] [--unix2dos]
    -- [argument1] ... [argumentN]]

    查看<program/arg0> 之前的-- 参数。通常接受之后的参数作为文字和看起来需要,所以也尝试:

     subprocess.call(["C:\...\VBoxManage.exe", "guestcontrol", "my_vm", "run", "--", "C:\\Users\\abc.exe"])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      • 2023-03-18
      • 1970-01-01
      • 2010-10-07
      • 2022-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多