我一直试图编写一个python脚本来远程控制我的虚拟机。例如,我想在我的VM上运行一个程序,并检查它是否正在运行。对于这一步,我尝试了Os.system,它似乎是有效的,但为了更好的控制,我喜欢使用子进程,但不幸的是没有成功。我为os.system和子流程提供了如下代码:
os.system("vmrun -gu root -gp mohsen77 runProgramInGuest F:\Client\Ubuntu10464bit.vmx usr/bin/tcpreplay --intf1=eth4 /home/srastega/output.pcap")
print('PID is:' + str(os.getpid()))
args = shlex.split("vmrun -gu root -gp mohsen77 runProgramInGuest F:\Client\Ubuntu10464bit.vmx /bin/ls -l")
tcpreplay = subprocess.Popen(args, stderr=subprocess.STDOUT, stdout=subprocess.PIPE, shell=True)
out, err = tcpreplay.communicate()
print(out)
print('PID is:' + str(tcpreplay.pid))对于第二段代码,我收到了一个错误:
错误:无法打开VM: F:\ClientUbuntu10464bit.vmx,虚拟机找不到
发布于 2013-03-20 14:30:13
双引号中的反斜杠可能有特殊的含义,这可能导致它们消失。我不知道为什么这两个调用的工作方式不同,但请尝试将反斜杠加倍或改为正斜杠。
(从评论中的讨论中得到答复。)
https://stackoverflow.com/questions/15517104
复制相似问题