1 - лаунчер:
import os, sys from subprocess import PIPE, Popen from pyautogui import alert process = Popen(['tested.exe'], stdout=PIPE, stderr=PIPE) while process.poll() is None: output_line = process.stdout.readline() print(output_line.decode()[:-2]) #обрезаем \r\n if output_line.decode()[:-2] == 'exit': alert('Прервано пользователем', 'Прервано!', 'Выход') process.kill() sys.exit()
2 - tested скрипт
from pynput import keyboard from time import sleep import os import psutil def event(): current_system_pid = os.getpid() ThisSystem = psutil.Process(current_system_pid) print('exit') #этот вывод хочу ловить родителем ThisSystem.terminate() listener = keyboard.GlobalHotKeys({'<ctrl>+q': event}) #асинхронно слушаем клавиатуру listener.start() while 1: sleep(1) print('--waited--')
Как мне словить текстовый вывод с event?
Если не компилировать и запускать tested.py - то все прекрасно ловиться и работает, НО
Если tested.exe - тишина, куда он делает принты непонятно…в черную дыру может какую..
измучился, изгуглился, без понятия почему так и какой нормальный вариант решения, только простым языком пожалуйста, новичок в этом.