Qual é o status de saída?
O status de saída de um programa, também chamado de código de retorno, é um número que um programa passa para o sistema operacional, script ou outro processo que o executou originalmente após a conclusão da execução do programa. Não há regras reais para o significado dos números usados como status de saída, embora um valor zero tradicionalmente signifique que o programa saia normalmente e qualquer valor diferente de zero signifique que o programa foi encerrado inesperadamente. Ao atribuir um número ao status de saída, o programa ou processo original que chamou o código pode dizer se o programa executou com êxito as tarefas necessárias ou outras ações precisam ser executadas.
Quase todas as linguagens de computador e muitas linguagens de script possuem algum mecanismo ou função que pode retornar um status de saída. Há situações em que um programa pode ser intencionalmente encerrado no meio da execução, usando um código de erro específico para indicar que algo está errado, como um arquivo de dados ausente ou falta de memória do computador. Os programas que não definem explicitamente um código de status de saída retornarão zero ao programa de chamada, a menos que o sistema operacional ou o intérprete de idioma encerre o programa devido a erros.
O status de saída também pode ser usado para se comunicar com um script ou outro processo, devolvendo valores específicos que indicam que ação deve ser executada a seguir. Um exemplo seria um script projetado para manter um programa em execução, apesar dos possíveis momentos em que o programa pode sair para manutenção. Esse esquema operaria com o script que executava o programa e aguardava sua saída. Os programadores podem organizá-lo para que o programa retorne um número para indicar que ele está saindo permanentemente e não deve ser reiniciado, e outro número pode instruir o script a aguardar um período de tempo e depois reiniciar o programa; ainda um terceiro valor pode indicar que o programa encontrou um erro e precisa da atenção de um programador.
O uso de um código de status de saída para comunicações é conveniente em determinadas situações devido à segurança e outras limitações que alguns programas têm em diferentes sistemas operacionais. Há muitos casos em que é impossível para um programa se comunicar com seu processo de chamada ou outro programa em execução paralelo no mesmo sistema. Nessas situações, as opções de comunicação entre programas seriam limitadas a esquemas complexos envolvendo memória compartilhada, conexões de soquete de rede ou gravação de arquivos. Ao usar um status de saída, informações simples podem ser transmitidas de uma maneira muito básica que não requer que uma estrutura personalizada seja desenvolvida.