Взаимодействие пользователя между хостом и виртуальной машиной

У меня есть скрипт Python на моем хост-компьютере, который пытается запустить другой скрипт на гостевой машине. Я также хочу, чтобы скрипт на хосте скармливал скрипт гостю с номером.

На хост-машине:

args = shlex.split("vmrun -gu root -gp mohsen77 runProgramInGuest F:/Attacker/Ubuntu1110.vmx /usr/bin/python /home/srastega/Attacker")
Attacker = subprocess.Popen(args, stdin=PIPE, stderr=STDOUT, stdout=PIPE)
out, err = Attacker.communicate("1\n")
exitcode = Attacker.returncode

На гостевой машине:

n= int(raw_input("Value for n:"))
t = open('/home/srastega/test', 'a')
t.write("%s"%str(n))

К сожалению, гостевая программа завершилась с ненулевым кодом выхода: 1 (ошибка, наблюдаемая на хост-компьютере). Но если я попробую эти два сценария на одной машине, связь будет работать правильно, и первый сценарий передаст номер «1» второму сценарию, который запишет это число в файл.

Любая идея, как взаимодействовать между хостом и гостевой машиной? Спасибо, Самане


person samaneh    schedule 26.03.2013    source источник
comment
если vmrun не передает stdin подпроцессу; вместо этого вы пытаетесь использовать временный файл или сокеты.   -  person jfs    schedule 26.03.2013
comment
Любые полезные ресурсы для чтения?   -  person samaneh    schedule 28.03.2013