[pyar] Ejecutando algo y enterándome qué pasa

Facundo Batista facundobatista en gmail.com
Mie Nov 21 12:35:54 ART 2012


Situación: tengo un string y debo ejecutarlo en la máquina (esto es
bajo linux, para Launcherposta [0]).

Ejemplo: "/usr/bin/gvim /home/facundo/fruta.txt"

Quiero ejecutar ese string (del cual no tengo control) y si hay un
error, indicárselo al usuario.

Probé con

a) subprocess.Popen(cmd, shell=True) -- el problema acá es que si el
shell no encuentra el proceso, *yo no me entero* (no salta una
excepción a nivel de Python)

b) subprocess.Popen(cmd) -- acá no encuentra el comando, directamente;
para que lo encuentre debería pasar cmd.split(), pero el tema es que
hacer un split() a ciegas me puede convertir un comando que es
"/bin/algo -t 3 foobar" en ["/bin/algo", "-t", "3", "foobar"] cuando
realmente debería ser ["/bin/algo", "-t 3", "foobar"] (bah, creo).

Puntos extras por tener el process id de lo que lancé, así lo logueo.

Ideas? Gracias!

Slds.

[0] http://launcherposta.taniquetil.com.ar/

-- 
.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
Twitter: @facundobatista



More information about the pyar mailing list