Вы можете использовать reactor.spawnProcess
для установки произвольных отображений файловых дескрипторов между родительским процессом и порожденным им дочерним процессом. Например, чтобы запустить программу и предоставить ей два дополнительных выходных дескриптора (в дополнение к stdin, stdout и stderr), с помощью которых она может отправлять байты в родительский процесс, вы должны сделать что-то вроде этого:
reactor.spawnProcess(protocol, executable, args,
childFDs={0: 'w', 1: 'r', 2: 'r', 3: 'r', 4: 'r'})
Реактор позаботится о создании каналов для вас и назовет childDataReceived
на ProcessProtocol
, который вы передадите, когда данные будут считаны с них. Подробности смотрите в spawnProcess API документах .
Если вы также используете Twisted на дочернем конце, то в основном вы хотите посмотреть на twisted.internet.stdio
. stdiodemo.py и stdin.py в основных примерах покажут, как использовать этот модуль.