Articles of subproceso

¿Se recibe de forma asíncrona la salida de comandos de shell de larga ejecución con asyncio (Python 3.4+)?

Estoy tratando de descubrir cómo simplemente iniciar una serie de comandos de shell de larga duración de forma no bloqueante, y manejar de forma asíncrona su salida cuando terminan, en el orden en que terminan , incluso si ese es otro orden al que empezaron, usando la biblioteca de Python de asyncio disponible en Python […]

Uso del subproceso de Python para mostrar la salida en la nueva ventana de Xterm

Estoy tratando de generar información diferente en dos terminales desde el mismo script de Python (como este compañero ). La forma en que mi investigación ha parecido apuntar es abrir una nueva ventana xterm usando subprocess.Popen y ejecutando cat para mostrar la entrada estándar del terminal en la ventana. Luego escribiría la información necesaria al […]

Manteniendo abierta una tubería a un proceso.

Tengo una app que lee cosas de stdin y devuelve, después de una nueva línea, resultados en stdout Un ejemplo simple (estúpido): $ app Expand[(x+1)^2] x^2 + 2*x + 1 100 – 4 96 Abrir y cerrar la app requiere mucha inicialización y limpieza (es una interfaz con un sistema de álgebra computacional), por lo […]

Python open + append no funciona como se esperaba

De acuerdo con la documentación, si uso abrir (“archivo”, “a”) y escribir en el archivo, se agregarán los nuevos datos, pero en el siguiente ejemplo, el segundo comando simplemente sobrescribe el archivo. No entiendo muy bien por qué. import subprocess startupinfo = subprocess.STARTUPINFO() subprocess.STARTF_USESHOWWINDOW = 1 startupinfo.dwFlags = subprocess.STARTF_USESHOWWINDOW with open(r”c:\folder\test.txt”,”a”) as log: Process = […]

Python: ¿Por qué subprocess () inicia 2 procesos en Ubuntu y 1 en OpenSUSE?

Escribí una pequeña interfaz de usuario en Python que permite a los usuarios reproducir canales de radio por Internet. El progtwig usa Pythons subprocess () para iniciar mplayer para sintonizar un canal, por ejemplo: runn = “mplayer http://77.111.88.131:8010” p = subprocess.Popen(runn, shell=True) pid = int(p.pid) wait = os.waitpid(p.pid, 1) Luego guarda p.pid, y cuando un […]

¿Cómo usar el comando dir / s en Python?

Fondo Uso el comando dir/s en archivos por lotes todo el tiempo. Pero, no puedo llamar a esto usando python. NOTA: Estoy usando Python 2.7.3. Código import subprocess subprocess.call([“dir/s”]) Mensaje de error Traceback (most recent call last): File “”, line 1, in subprocess.call([“dir/s”]) File “C:\Python27\lib\subprocess.py”, line 493, in call return Popen(*popenargs, **kwargs).wait() File “C:\Python27\lib\subprocess.py”, line […]

Ejecutando un comando completamente independiente de la secuencia de comandos

Recientemente he encontrado algunas situaciones en las que quiero iniciar un comando de forma completamente independiente, y en un proceso diferente a continuación, el script, equivalente al escribirlo en un terminal, o más específicamente escribir el comando en un .sh o .desktop y hacer doble clic en él . La solicitud que tengo son: Puedo […]

cómo obtener la salida estándar de subproceso en python al obtener SIGUSR2 / SIGINT

Tengo el siguiente script de python simple: import os, subprocess,signal,sys import time out = None sub = None def handler(signum,frame): print(“script.py: cached sig: %i ” % signum) sys.stdout.flush() if sub is not None and not sub.poll(): print(“render.py: sent signal to prman pid: “, sub.pid) sys.stdout.flush() sub.send_signal(signal.SIGTERM) sub.wait() # deadlocks….???? #os.kill(sub.pid, signal.SIGTERM) # this works #os.waitpid(sub.pid,0) […]

El subproceso de Python no interpreta “~” como se espera en cygwin

Sección 17.1.1.1. de los estados de documentación : Si el shell es True, el comando especificado se ejecutará a través del shell. Esto puede ser útil si está utilizando Python principalmente para el flujo de control mejorado que ofrece en la mayoría de los shells del sistema y aún desea un acceso conveniente a otras […]

¿Cómo usar Popen para ejecutar el proceso backgroud y evitar a los zombies?

Tengo un servidor de escucha que ejecuta un nuevo hilo para cada controlador de cliente. Cada manejador puede usar: proc = subprocess.Popen(argv, executable = “./Main.py”, stdout = _stdout, stderr = subprocess.STDOUT, close_fds=False) para ejecutar un nuevo proceso en segundo plano, después de lo que se termina el hilo del controlador. Una vez finalizado el proceso […]