Vad är utgångsstatusen?

Exit-statusen för ett program, även kallat returkoden, är ett nummer som ett program skickar till operativsystemet, skriptet eller annan process som ursprungligen körde det när programmet har körts färdigt. Det finns inga riktiga regler för vad siffrorna som används som utgångsstatus betyder, även om ett värde på noll traditionellt betyder att programmet avslutas normalt, och alla värden som inte är noll betyder att programmet avslutas oväntat. Genom att tilldela ett nummer till utgångsstatusen kan det ursprungliga programmet eller processen som anropade koden avgöra om programmet lyckades utföra de uppgifter som behövdes eller om andra åtgärder måste vidtas.

Nästan alla datorspråk och många skriptspråk har någon mekanism eller funktion på plats som kan returnera en utgångsstatus. Det finns situationer där ett program avsiktligt kan avslutas mitt i körningen, med hjälp av en specifik felkod för att indikera att något är fel, till exempel en saknad datafil eller brist på datorminne. Program som inte uttryckligen definierar en utgångsstatuskod kommer att returnera en nolla till det anropande programmet om inte operativsystemet eller språktolken avslutar programmet på grund av fel.

Exit-statusen kan också användas för att kommunicera med ett skript eller annan process genom att skicka tillbaka specifika värden som indikerar vilken åtgärd som ska vidtas härnäst. Ett exempel skulle vara ett skript som är utformat för att hålla ett program igång trots eventuella tillfällen då programmet kan avslutas för underhåll. Detta schema skulle fungera med skriptet som kör programmet och sedan väntar på att det avslutas. Programmerarna kan ordna det så att programmet returnerar ett nummer för att betyda att det avslutas permanent och inte bör startas om, och ett annat nummer kan instruera skriptet att vänta en tid och sedan starta om programmet; fortfarande kan ett tredje värde indikera att programmet stötte på ett fel och behöver uppmärksamhet från en programmerare.

Användningen av en utgångsstatuskod för kommunikation är praktiskt i vissa situationer på grund av säkerheten och andra begränsningar som vissa program har under olika operativsystem. Det finns många fall där det är omöjligt för ett program att kommunicera med sin anropsprocess eller ett annat program som körs parallellt på samma system. I dessa situationer skulle alternativen för kommunikation mellan program begränsas till komplexa system som involverar delat minne, nätverksanslutningar eller skrivning av filer. Genom att använda en exitstatus kan enkel information skickas på ett mycket grundläggande sätt som inte kräver att ett anpassat ramverk utvecklas.