Потребителско взаимодействие между хост и виртуална машина

Имам скрипт на 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