¿Cuál es el valor de retorno de subprocess.call ()?

No estoy seguro de cuál es el valor de retorno desubprocess.call() medio.

¿Puedo asumir con seguridad que un valor cero siempre significará que el comando se ejecutó correctamente?

¿Es el valor de retorno equivalente al estado de salida de un comando de shell?

Por ejemplo, ¿funcionará el siguiente fragmento de código para prácticamente cualquier comando en Linux?

 cmd = "foo.txt > bar.txt"
 ret = subprocess.call(cmd, shell=True)
 if ret != 0:
     if ret < 0:
         print "Killed by signal", -ret
     else:
         print "Command failed with return code", ret
 else:
     print "SUCCESS!!"

Por favor iluminame :-)

Respuestas a la pregunta(3)

Su respuesta a la pregunta