Jaký je stav ukončení?

Stav ukončení programu, nazývaného také návratový kód, je číslo, které program předá operačnímu systému, skriptu nebo jinému procesu, který jej původně provedl, jakmile je program dokončen. Neexistují žádná reálná pravidla pro to, co čísla použitá jako stav ukončení znamenají, ačkoli hodnota nula tradičně znamená, že program byl ukončen normálně, a jakákoli nenulová hodnota znamená, že program byl neočekávaně ukončen. Přiřazením čísla stavu ukončení může původní program nebo proces, který volal kód, zjistit, zda program úspěšně provedl potřebné úkoly nebo je třeba provést jiné akce.

Téměř všechny počítačové jazyky a mnoho skriptovacích jazyků má nějaký mechanismus nebo funkci, která může vrátit stav ukončení. Existují situace, kdy se program může úmyslně ukončit uprostřed běhu pomocí specifického chybového kódu k označení, že něco není v pořádku, například chybějící datový soubor nebo nedostatek paměti počítače. Programy, které explicitně nedefinují výstupní stavový kód, vrátí volajícímu programu nulu, ledaže operační systém nebo interpret jazyka ukončí program kvůli chybám.

Stav ukončení lze také použít ke komunikaci se skriptem nebo jiným procesem předáním určitých hodnot zpět, které naznačují, jaká akce by měla být podniknuta dále. Jedním z příkladů by mohl být skript, který je navržen tak, aby udržoval běh programu navzdory možným dobám, kdy by program mohl ukončit údržbu. Toto schéma by fungovalo se skriptem provádějícím program a čekáním na jeho ukončení. Programátoři by to mohli zařídit tak, aby program vrátil jedno číslo, což znamená, že permanentně opouští a neměl by být restartován, a jiné číslo může dát skriptu pokyn, aby počkal na určitou dobu a pak restartoval program; ještě třetí hodnota by mohla naznačovat, že program zaznamenal chybu a potřebuje pozornost programátora.

Použití stavového kódu ukončení pro komunikaci je v určitých situacích vhodné z důvodu zabezpečení a dalších omezení, 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 se svým volajícím procesem nebo jiným programem běžícím paralelně na stejném systému. V těchto situacích by možnosti komunikace mezi programy byly omezeny na složitá schémata zahrnující sdílenou paměť, připojení k síťovým soketům nebo zápis souborů. Pomocí stavu ukončení lze jednoduché informace předávat velmi jednoduchým způsobem, který nevyžaduje vývoj vlastního rámce.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?