Я тестирую связь с подпроцессом. Я должен запустить сервер, периодически отправляя данные. Конечной целью является процесс, который получает данные meteo и сервер печати. Частота выборки составляет порядка или минуты .... Я написал эти два фрагмента кода, чтобы понять основы ipc в python, но я даже не могу заставить их работать. Синхронизм не является проблемой.Постоянная передача данных в подпроцесс
основной процесс
import sys, time
from subprocess import Popen, PIPE
print 'starting'
proc = Popen (['python.exe',
'C:\Documents and Settings\Administrator\Desktop\sub.py'],
stdin = PIPE, stdout = PIPE)
print 'launched'
w = 0
while True:
w += 1
time.sleep (2)
print 'writing', w
proc.stdin.write (repr(w))
proc.stdin.flush()
print proc.stdout.read()
подпроцесс:
import sys, time
print 'reading'
v = 0
while True:
v = sys.stdin.read()
sys.stdout.write('ACK')
sys.stdout.flush()
time.sleep (4)
Основной процесс блокировки, по-видимому, к югу не читает, посылая ACK. где я ошибаюсь ??? спасибо
отлично! Оно работает. Это был мой первый пост на форуме, очень полезный. Спасибо – user2202117
Да, SO - лучшее. Когда вы найдете ответ полезным, не стесняйтесь повышать или принимать его. – shx2