¿Cómo omitir el límite de rango 0-255 para sys.exit () en python?

En python (en un sistema Linux), estoy iniciando un comando usandoos.system() y recuperando el código de retorno. Si ese código de retorno es diferente de 0, me gustaría hacer que el programa salga con ese mismo código de retorno. Entonces escribí:

ret = os.system(cmd)
if ret != 0:
   print "exit with status %s" % ret
   sys.exit(ret)

Cuando el código de retorno es inferior a 256, funciona bien, pero cuando es superior a 255, el código de salida utilizado es 0. ¿Cómo puedo hacer que sys.exit () acepte códigos superiores a 255?

Editar: el límite es en realidad 255

De hecho, elret variable recibe 256, perosys.exit() no puede usarlo, por lo que el programa devuelve 0 en su lugar. Cuando lancecmd manualmente, veo que devuelve 1, no 256.

Respuestas a la pregunta(3)

Su respuesta a la pregunta