Što je izlazni status?

Izlazni status programa, koji se također naziva povratni kod, broj je koji program prosljeđuje operativnom sustavu, skripti ili drugom procesu koji ga je izvorno izvršio nakon što program završi s radom. Ne postoje stvarna pravila za to što znače brojevi koji se koriste kao izlazni status, iako vrijednost nula tradicionalno znači da je program normalno izašao, a svaka vrijednost različita od nule znači da je program neočekivano prekinut. Dodjeljivanjem broja izlaznom statusu, izvorni program ili proces koji je pozvao kod može reći je li program uspješno izvršio potrebne zadatke ili je potrebno poduzeti druge radnje.

Gotovo svi računalni jezici i mnogi skriptni jezici imaju neki mehanizam ili funkciju koji može vratiti status izlaza. Postoje situacije u kojima se program može namjerno prekinuti usred izvođenja, koristeći određeni kod pogreške kako bi ukazao da nešto nije u redu, kao što je datoteka s podacima koja nedostaje ili nedostatak memorije računala. Programi koji eksplicitno ne definiraju izlazni statusni kod vratit će nulu pozivnom programu osim ako operacijski sustav ili tumač jezika ne prekine program zbog grešaka.

Status izlaza također se može koristiti za komunikaciju sa skriptom ili drugim procesom prosljeđivanjem određenih vrijednosti natrag koje označavaju koju radnju treba poduzeti sljedeće. Jedan primjer bi bila skripta koja je dizajnirana da zadrži program u radu unatoč mogućim trenucima kada bi program mogao izaći radi održavanja. Ova shema bi radila sa skriptom koja izvršava program i zatim čeka da izađe. Programeri bi to mogli urediti tako da program vraća jedan broj što znači da trajno izlazi i da ga ne treba ponovno pokrenuti, a drugi broj bi mogao uputiti skriptu da pričeka neko vremensko razdoblje i zatim ponovno pokrene program; još uvijek treća vrijednost može ukazivati ​​na to da je program naišao na pogrešku i da mu je potrebno obratiti pažnju programera.

Upotreba izlaznog statusnog koda za komunikaciju prikladna je u određenim situacijama zbog sigurnosnih i drugih ograničenja koja neki programi imaju pod različitim operativnim sustavima. Postoje mnogi slučajevi u kojima je nemoguće da program komunicira sa svojim pozivnim procesom ili drugim programom koji radi paralelno na istom sustavu. U tim situacijama, opcije za komunikaciju između programa bile bi ograničene na složene sheme koje uključuju zajedničku memoriju, mrežne utičnice ili pisanje datoteka. Korištenjem izlaznog statusa, jednostavne informacije mogu se proslijediti na vrlo jednostavan način koji ne zahtijeva razvoj prilagođenog okvira.