¿Cómo iniciar un subproceso pdftk mientras está en wsgi?

Necesito iniciar un proceso pdftk mientras atiendo una solicitud web en Django y esperar a que termine. Mi código pdftk actual se ve así:

proc = subprocess.Popen(["/usr/bin/pdftk", 
                         "/tmp/infile1.pdf", 
                         "/tmp/infile2.pdf", 
                         "cat", "output", "/tmp/outfile.pdf"])    
proc.communicate()

Esto funciona bien, siempre y cuando esté ejecutando bajo el servidor de desarrollo (ejecutándose como usuariowww-data). Pero tan pronto como cambio a mod_wsgi, sin cambiar nada más, el código se cuelga enproc.communicate(), y "outfile.pdf" se deja como un identificador de archivo abierto de longitud cero.

He intentado varias variantes de la invocación de subprocesos (así como también el sistema operativo antiguo): establecer stdin / stdout / stderr en PIPE o en varios identificadores de archivos no cambia nada. El uso de "shell = True" evitaproc.communicate() se cuelga, pero luego pdftk no puede crear el archivo de salida, tanto en el servidor de desarrollo como en mod_wsgi. @Esta discusión parece indicar que podría haber un vudú más profundo con las señales del sistema operativo y pdftk que no entiendo.

¿Hay alguna solución para que una llamada de subproceso como esta funcione correctamente en wsgi? Estoy evitando el uso de PyPDF para combinar archivos pdf, porque tengo que combinar un número suficientemente grande de archivos (varios cientos) que se quede sin memoria (PyPDF necesita mantener todos los archivos pdf de origen abiertos en la memoria al combinarlos).

Estoy haciendo esto en Ubuntu reciente, pythons 2.6 y 2.7.

Respuestas a la pregunta(2)

Su respuesta a la pregunta