Articles of subprocess

Uso de subproceso con select y pty se bloquea al capturar resultados

Estoy tratando de escribir un progtwig de python que pueda interactuar con otros progtwigs. Eso significa enviar stdin y recibir datos de stdout. No puedo usar pexpect (aunque definitivamente inspiró algo del diseño). El proceso que estoy usando ahora es este: Adjuntar una pty a la salida estándar del subproceso Haga un bucle hasta que […]

Genere un nuevo proceso de no locking usando Python en Mac OS X

Encontré algunos artículos e incluso astackr | preguntas de desbordamiento que abordan este tema, pero todavía no puedo hacerlo … Lo que quiero hacer es abrir una instancia de Firefox desde Python. Entonces, la aplicación de Python debe mantener su propio negocio e ignorar el proceso de Firefox. Pude lograr este objective en Windows-7 y […]

Python: subprocess.call, stdout a file, stderr a file, muestra stderr en pantalla en tiempo real

Tengo una herramienta de línea de comandos (en realidad, varias) para la que estoy escribiendo un contenedor en Python. La herramienta se usa generalmente así: $ path_to_tool -option1 -option2 > file_out El usuario obtiene la salida escrita en file_out y también puede ver varios mensajes de estado de la herramienta mientras se ejecuta. Quiero replicar […]

bloques – enviar entrada a la tubería de subproceso de Python

Estoy probando conductos de subprocesos con python. Soy consciente de que puedo hacer lo que hacen los progtwigs a continuación en Python directamente, pero ese no es el punto. Solo quiero probar la tubería para saber cómo usarla. Mi sistema es Linux Ubuntu 9.04 con el python 2.6 predeterminado. Comencé con este ejemplo de documentación […]

Python con tcpdump en un subproceso: ¿cómo cerrar el subproceso correctamente?

Tengo una secuencia de comandos de Python para capturar el tráfico de red con tcpdumb en un subproceso: p = subprocess.Popen([‘tcpdump’, ‘-I’, ‘-i’, ‘en1’, ‘-w’, ‘cap.pcap’], stdout=subprocess.PIPE) time.sleep(10) p.kill() Cuando este script complete el trabajo, estoy intentando abrir el archivo de salida .pcap en Wireshark y aparece este error: “El archivo de captura parece haberse […]

La ejecución de un comando con comillas en los parámetros funciona con commands.getoutput () pero no con el módulo de subproceso

Estoy creando un progtwig de Python que llama a varios otros progtwigs y scripts (en Unix (SUNos) + Linux). Estoy usando subproceso en todas partes excepto por 1 script. La secuencia de comandos para la que no uso subproceso es una secuencia de comandos perl que se ha convertido en un ejecutable. De alguna manera, […]

¿Qué permisos son necesarios para subprocess.Popen?

El siguiente código: gb = self.request.form[‘groupby’] typ = self.request.form[‘type’] tbl = self.request.form[‘table’] primary = self.request.form.get(‘primary’, None) if primary is not None: create = False else: create = True mdb = tempfile.NamedTemporaryFile() mdb.write(self.request.form[‘mdb’].read()) mdb.seek(0) csv = tempfile.TemporaryFile() conversion = subprocess.Popen((“/Users/jondoe/development/mdb-export”, mdb.name, tbl,),stdout=csv) Provoca este error al llamar a la última línea, es decir, ‘conversion =’ en […]

¿Cómo difiere subprocess.call de os.system

Tengo una secuencia de comandos de Python para instalar / desinstalar algunos progtwigs de uso regular para mí y también hace un poco de acceso directo / limpieza de carpetas después de la desinstalación. Solía ​​usar este código para borrar una carpeta. os.system(‘rd /S /Q “{0}\\{1}”‘.format(dirname, name)) que funcionó bien Estoy intentando convertir mi uso […]

ffmpeg a través del subproceso de Python no puede encontrar la cámara

Un problema extraño aquí, uso este comando para capturar mi cámara web a través de ffmpeg (a través de cmd en Windows): ffmpeg -y -t 300 -rtbufsize 1024M -f dshow -i video=”Lenovo EasyCamera” -c:v libx264 -preset veryslow -crf 25 Desktop.mkv y todo funciona bien. Pero cuando bash el mismo comando a través de python como […]

Ejecutando un script R en python a través de subprocess.Popen

Cuando ejecuto el script en R, es: $ R –vanilla –args test_matrix.csv out.txt En Python, funciona si uso: process = subprocess.call(“R –vanilla –args “+output_filename+”_DM_Instances_R.csv “+output_filename+”_out.txt”, shell=True) Pero este método no proporciona la función process.wait() . Por lo tanto, me gustaría utilizar el subprocess.Popen . subprocess.Popen , probé: process = subprocess.Popen([‘R’, ‘–vanilla’, ‘–args’, “\'”+output_filename+”_DM_Instances_R.csv\'”, ‘<', '/home/kevin/AV-labels/Results/R/hierarchical_clustering.R']) […]