Articles of popen

Python popen.stdout.readline () se cuelga

Estoy teniendo un problema … ¿alguien sabe por qué este código se cuelga en el bucle while? El bucle no parece captar la última línea de la salida estándar. working_file = subprocess.Popen([“/pyRoot/iAmACrashyProgram”], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE) line = working_file.stdout.readline() working_file.stdout.flush() while working_file != “” : print(line) line = working_file.stdout.readline() working_file.stdout.flush() la secuencia de comandos se cuelga […]

Matar el proceso del niño popen.

Esta es mi primera publicación en la comunidad, pero ahora he estado aprendiendo lo que puedo buscando durante aproximadamente 2 semanas. Parece que he llegado a un callejón sin salida que parece que no puedo encontrar la respuesta por ensayo y error o leyendo las publicaciones de otros. Todo lo que estoy tratando de hacer […]

¿Cómo obtener PID a través de subprocess.Popen con una variable de entorno personalizada?

Con Python, ¿cómo puedo ejecutar un subproceso con una variable de entorno modificada y obtener su PID? Supongo que subprocess.Popen () está en el camino correcto … En shell (bash), haría esto: MY_ENV_VAR=value ./program_name arg1 arg2 etc & Esto ejecuta program_name en segundo plano, pasando “arg1” y “arg2” y “etc”, con una variable de entorno […]

Subproceso Python Popen stdout solo a variable

Quiero hacer algo fácil, pero no capto … ¡Hice muchas búsquedas en Google y no encontré nada! Estoy haciendo esto: from subprocess import Popen, PIPE p1 = Popen([“fping”, ‘-C10’, ‘-B1’, ‘-p500’, ‘-r1’, ‘-s’, ‘172.29.172.106’], stdout=PIPE) output = p1.communicate() Entonces, Python ejecuta mi comando, comunicar espera el código de retorno, funciona bien. Pero, no sé por […]

El comando subprocess.Popen (antiword) produce una salida diferente en la aplicación shell vs. web

Tengo a Django ejecutándose en un combo estándar de WSGI / Apache httpd. Noté que la salida del archivo era diferente cuando ejecutaba el código en el shell vs. desde el navegador. He aislado todo lo demás y sigo teniendo el mismo problema. Aquí está el código: def test_antiword(filename): import subprocess with open(filename, ‘w’) as […]

Cómo capturar la salida de streaming en python desde subprocess.communicate ()

Actualmente, tengo algo como esto: self.process = subprocess.Popen(self.cmd, stdout=subprocess.PIPE) out, err = self.process.communicate() El comando que estoy ejecutando transmite la salida y necesito el proceso para bloquear antes de continuar. ¿Cómo lo hago para que pueda capturar la salida de la transmisión Y tener la salida de la transmisión de impresión a través de la […]

Declaración de “retorno no” de Python en el código de retorno de subproceso

Acabo de encontrar una línea de código muy extraña en Python: …. self.myReturnCode = externalProcessPopen.returncode …. …. return not self.myReturnCode …. ¿Qué es exactamente el return not significa? Soy consciente de que el código de retorno de un proceso de Popen es Ninguno mientras aún se está ejecutando y un número aleatorio una vez que […]

Salida en tiempo real de subprocess.popen () y no línea por línea

Actualmente estoy reescribiendo un pequeño progtwig contenedor en python que una vez escribí en C ++. Extrae archivos de un archivo y los coloca en otro formato. En C ++, la salida de los comandos del sistema que necesito ejecutar fue “en tiempo real”, es decir, la barra de estado y el indicador de porcentaje […]

Enviando teclas de flecha a Popen

Sé que es posible enviar entradas imprimibles a los subprocess write en su stdin from subprocess import, Popen, PIPE proc = Popen([command, goes, here], stdin=PIPE) proc.stdin.write(“m”) ¿Cómo hago para enviar información como las pulsaciones de las teclas de flecha, espacio, retorno o retroceso?

Envolviendo un CLI interactivo en python

Estoy tratando de envolver gnugo en un script de python. Repasé las otras preguntas en SO sobre cómo ajustar las aplicaciones de CLI aquí y aquí y aunque me han ayudado un poco, no he podido hacer que mi script funcione completamente. Parece que el proceso se cancela después de la primera entrada de la […]