Нужно чтоб питон-скритп запустил программу и через некоторое время написал строчку в программу. 
Если просто представить, то есть CPP программа:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
   std::string input;
   int i = 0;
   ofstream myfile("/var/tmp/result.txt", ios::out);
   while (1)
   {
      std::cin >> input;
      std::cout << "get: " << input << "; i = " << i << std::endl;
      myfile << "get: " << input << "; i = " << i << std::endl;
      i++;
      if (i > 10 )
         return 0;
   }
}#!/usr/bin/python
from subprocess import Popen, PIPE
import time
CMD="/home/y/test/build-console-Desktop/./myApp"
handle = Popen(CMD, shell=True, stdin=PIPE) 
time.sleep(2)
print "write now"
handle.stdin.write("123")
handle.stdin.flush()
handle.stdin.close()
time.sleep(2)Я ожидаю, что программа один раз зайдет в цикл и будет ждать пока не будет повторно что-то записано.
Но на практике я получаю вывод:
$ ./test_py/test_small.py
write now # - это пишет питон
get: 123; i = 0 # это и до конца CPP
get: 123; i = 1
get: 123; i = 2
get: 123; i = 3
get: 123; i = 4
get: 123; i = 5
get: 123; i = 6
get: 123; i = 7
get: 123; i = 8
get: 123; i = 9
get: 123; i = 10
Вопрос: как сделать чтоб CPP программа читала только 1 раз? Очень желательно без изменения CPP кода.

