Preguntas con la etiqueta [subprocess]

Lista subprocess preguntas

Tengo un programa en el que necesito convertir un PDF a una imagen usando Image Magick. Lo hago usando el subprocesspaquete: cmd = 'magick convert -density 300 '+pdfFile+'['+str(rangeTuple[0])+'-'+str(rangeTuple[1])+'] -depth 8

Quiero llamar a un programa externo desde Python. He usado ambos Popen()y call()para hacer eso. ¿Cuál es la diferencia entre los dos? Mi objetivo específico es ejecutar el siguiente comando

¿Es posible modificar el código siguiente para imprimir desde 'stdout' y 'stderr'? impreso en el terminal (en tiempo real), y finalmente almacenado en variables outs y errs ? El código:

Tengo un programa Python para Linux que casi se parece a este: import os import time process = os.popen("top").readlines() time.sleep(1) os.popen("killall top") print process el programa se cuelga en esta

Intenté ejecutar cosas como esta: subprocess.Popen(['nohup', 'my_command'], stdout=open('/dev/null', 'w'), stderr=open('logfile.log', 'a')) Esto funciona si el script principal sale correctamente, pero si elimino el script (Ctrl-C), todos mis procesos secundarios también

¿Cómo recupero el código de salida cuando uso subprocessel módulo y el communicate()método de Python? Código relevante: import subprocess as sp data = sp.Popen(openRTSP + opts.split(), stdout=sp.PIPE).communicate()[0] ¿Debería hacer esto

Estoy lanzando un subproceso con el siguiente comando: p = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True) Sin embargo, cuando intento matar usando: p.terminate() o p.kill() El comando sigue ejecutándose en segundo plano, por

Usando sudo con script Python

14
respuestas
61
votos
231.3k
vistas

Estoy intentando escribir un pequeño script para montar una carpeta compartida de VirtualBox cada vez que ejecuto el script. Quiero hacerlo con Python, porque estoy tratando de aprenderlo para crear

¿ Cómo ejecuto el siguiente comando de shell usando el subprocessmódulo Python? echo "input data" | awk -f script.awk | sort > outfile.txt Los datos de entrada provendrán de una

Para iniciar programas desde mis scripts de Python, estoy usando el siguiente método: def execute(command): process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) output = process.communicate()[0] exitCode = process.returncode if (exitCode ==

salida en vivo del comando de subproceso

25
respuestas
293
votos
264.8k
vistas

Estoy usando un script en Python como controlador para un código hidrodinámico. Cuando llega el momento de ejecutar la simulación, suelo subprocess.Popenejecutar el código, recopilar la salida desde stdouty stderrhacia

Estoy intentando realizar una llamada al sistema en Python y almacenar el resultado en una cadena que pueda manipular en el programa Python. #!/usr/bin/python import subprocess p2 = subprocess.Popen("ntpq -p")

Ejecutar el comando Shell y capturar la salida

25
respuestas
1.4k
votos
1.9M
vistas

Quiero escribir una función que ejecute un comando de shell y devuelva su salida como una cadena , sin importar si es un mensaje de error o de éxito. Sólo

Significado real de 'shell=True' en el subproceso

7
respuestas
423
votos
343.7k
vistas

Estoy llamando a diferentes procesos con el subprocessmódulo. Sin embargo, tengo una pregunta. En el siguiente código: callProcess = subprocess.Popen(['ls', '-l'], shell=True) y callProcess = subprocess.Popen(['ls', '-l']) # without shell

Si hago lo siguiente: import subprocess from cStringIO import StringIO subprocess.Popen(['grep','f'],stdout=subprocess.PIPE,stdin=StringIO('one\ntwo\nthree\nfour\nfive\nsix\n')).communicate()[0] Yo obtengo: Traceback (most recent call last): File "<stdin>", line 1, in ? File "/build/toolchain/mac32/python-2.4.3/lib/python2.4/subprocess.py", line 533, in __init__