首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用os.system和subprocess.Popen

使用os.system和subprocess.Popen
EN

Stack Overflow用户
提问于 2013-03-20 06:51:40
回答 1查看 387关注 0票数 0

我一直试图编写一个python脚本来远程控制我的虚拟机。例如,我想在我的VM上运行一个程序,并检查它是否正在运行。对于这一步,我尝试了Os.system,它似乎是有效的,但为了更好的控制,我喜欢使用子进程,但不幸的是没有成功。我为os.system和子流程提供了如下代码:

代码语言:javascript
运行
复制
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,虚拟机找不到

EN

回答 1

Stack Overflow用户

发布于 2013-03-20 14:30:13

双引号中的反斜杠可能有特殊的含义,这可能导致它们消失。我不知道为什么这两个调用的工作方式不同,但请尝试将反斜杠加倍或改为正斜杠。

(从评论中的讨论中得到答复。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15517104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档