仮想マシンをリモートで制御するための Python スクリプトを作成しようとしています。たとえば、VM でプログラムを実行し、それが実行されているかどうかを確認したいとします。このステップでは、Os.system を試してみましたが、動作しているように見えますが、より適切に制御するためにサブプロセスを使用したいのですが、残念ながら成功しませんでした。次のように、os.system と subprocess の両方にコードを提供しました。
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))
2 番目のコードでは、エラーが発生します。
エラー: VM を開けません: F:\ClientUbuntu10464bit.vmx、仮想マシンが見つかりません