Как мне управлять подпроцессом Python с бесконечным цикломPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как мне управлять подпроцессом Python с бесконечным циклом

Сообщение Anonymous »

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

Код: Выделить всё

child.py

from random import randint

x = 1
while x < 9:
x = randint(0, 10)
print("weeeee got", x)

name = input("what's your name?\n")
print("hello", name)

x = 0
while True:
x += 1
print("bad", x)

Код: Выделить всё

parent.py

import curio
from curio import subprocess

async def main():
p = subprocess.Popen(
["./out"],
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,
)

async for line in p.stdout:
line = line.decode("ascii")
print(p.pid, "got:", line, end="")
if "what" in line and "name" in line:
out, _ = await p.communicate(input=b"yaboi\n")
print(p.pid, "got:", out.decode("ascii"), end="")
# stuff to properly kill the process ...
return

if __name__ == "__main__:
curio.run(main)
Если я запущу это, родительский элемент зависнет:

Код: Выделить всё

            out, _ = await p.communicate(input=b"yaboi\n")
Проблему устраняет удаление следующего раздела из дочернего элемента:

Код: Выделить всё

x = 1
while x < 9:
x = randint(0, 10)
print("weeeee got", x)
Почему это не работает с бесконечным циклом? Как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/790 ... inite-loop
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как мне управлять подпроцессом Python с бесконечным циклом
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как мне управлять подпроцессом Python с бесконечным циклом
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как мне управлять подпроцессом Python с бесконечным циклом
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Отладка исполняемого файла сборки с бесконечным циклом без отладочной информации в сценарии GDB Python API приводит к по
    Anonymous » » в форуме Linux
    0 Ответы
    56 Просмотры
    Последнее сообщение Anonymous
  • Как остановить сбой на сайте с бесконечным циклом [закрыто]
    Anonymous » » в форуме Php
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»