Skip to main content

¿Cuál es el estado de salida?

  • Baird

El estado de salida de un programa, también llamado código de retorno, es un número que un programa pasa al sistema operativo, script u otro proceso que originalmente lo ejecutó una vez que el programa ha terminado de ejecutarse. No existen reglas reales sobre lo que significan los números utilizados como estado de salida, aunque un valor de cero tradicionalmente significa que el programa salió normalmente, y cualquier valor distinto de cero significa que el programa finalizó inesperadamente. Al asignar un número al estado de salida, el programa o proceso original que llamó al código puede determinar si el programa realizó con éxito las tareas necesarias o si es necesario tomar otras medidas.

Casi todos los lenguajes de computadora y muchos lenguajes de secuencias de comandos tienen algún mecanismo o función que puede devolver un estado de salida. Hay situaciones en las que un programa puede terminar intencionalmente en el medio de la ejecución, usando un código de error específico para indicar que algo está mal, como un archivo de datos faltante o falta de memoria de la computadora. Los programas que no definen explícitamente un código de estado de salida devolverán un cero al programa que realiza la llamada a menos que el sistema operativo o el intérprete de idioma finalice el programa debido a errores.

El estado de salida también se puede utilizar para comunicarse con un script u otro proceso al pasar valores específicos que indican qué acción se debe tomar a continuación. Un ejemplo sería un script que está diseñado para mantener un programa en ejecución a pesar de los posibles momentos en que el programa podría salir por mantenimiento. Este esquema funcionaría con el script ejecutando el programa y luego esperando a que salga. Los programadores podrían organizarlo de manera que el programa devuelva un número para indicar que está saliendo permanentemente y no debe reiniciarse, y otro número podría indicarle al script que espere un período de tiempo y luego reinicie el programa; aún un tercer valor podría indicar que el programa encontró un error y necesita atención de un programador.

El uso de un código de estado de salida para las comunicaciones es conveniente en ciertas situaciones debido a la seguridad y otras limitaciones que algunos programas tienen bajo diferentes sistemas operativos. Hay muchos casos en los que es imposible que un programa se comunique con su proceso de llamada u otro programa que se ejecuta en paralelo en el mismo sistema. En estas situaciones, las opciones de comunicación entre programas se limitarían a esquemas complejos que involucran memoria compartida, conexiones de red o escritura de archivos. Al usar un estado de salida, se puede pasar información simple de una manera muy básica que no requiere un marco personalizado para ser desarrollado.