Qual é o valor de retorno de subprocess.call ()?

Eu não tenho certeza qual o valor de retornosubprocess.call() significa.

Posso assumir com segurança que um valor zero sempre significará que o comando foi executado com sucesso?

O valor de retorno é equivalente ao status de saída de um comando shell?

Por exemplo, o seguinte trecho de código funcionará virtualmente para qualquer comando no 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 me esclareça :-)

questionAnswers(3)

yourAnswerToTheQuestion