Jaký je stav odchodu?
Stav výstupu programu, také nazývaný návratový kód, je číslo, které program předává do operačního systému, skriptu nebo jiného procesu, který jej původně provedl po dokončení spuštění. Neexistují žádná skutečná pravidla pro to, co čísla použitá jako stav odchodu znamenají, ačkoli hodnota nula tradičně znamená, že program normálně vystoupil a jakákoli nenulová hodnota znamená, že program neočekávaně ukončil. Přiřazením čísla ke stavu výstupu může původní program nebo proces, který nazývá kód, zjistit, zda program úspěšně provedl potřebné úkoly nebo je třeba podniknout jiné akce. Existují situace, ve kterých může program úmyslně ukončit uprostřed běhu, pomocí konkrétního kódu chyby, který naznačuje, že je něco špatného, jako je chybějící datový soubor nebo nedostatek paměti počítače. Programy, které neVýslovně definujte kód stavu ukončení vrátí nulu do volacího programu, pokud operační systém nebo jazykový tlumočník neukončí program kvůli chybám.
Stav výstupu lze také použít ke komunikaci se skriptem nebo jiným procesem předáním konkrétních hodnot zpět, které označují, jaké akce by měly být provedeny dál. Jedním z příkladů by byl skript, který je navržen tak, aby udržel program v provozu, navzdory možným časům, kdy by program mohl ukončit údržbu. Toto schéma by fungovalo se skriptem provádějícím program a poté čeká na jeho ukončení. Programátoři by to mohli uspořádat tak, aby program vrátil jedno číslo, aby znamenal, že trvale opouští a nemělo by být restartováno, a jiné číslo by mohlo instruovat skript, aby čekal po určitou dobu a poté restartoval program; Třetí hodnota by stále mohla naznačovat, že program se setká s chybou a potřebuje pozornost PROgrammer.
Použití stavového kódu ukončení pro komunikaci je v určitých situacích výhodné kvůli zabezpečení a jiným omezením, které mají některé programy v různých operačních systémech. Existuje mnoho případů, kdy je nemožné, aby program komunikoval s jeho volajícím procesem nebo jiným programem s paralelem ve stejném systému. V těchto situacích by byly možnosti komunikace mezi programy omezeny na komplexní schémata zahrnující sdílenou paměť, připojení k síťovému soketu nebo psaní souborů. Použitím stavu výstupu lze jednoduché informace předat velmi základním způsobem, který nevyžaduje vyvinutí vlastního rámce.