Hva er utgangsstatus?
Utgangsstatus for et program, også kalt returkode, er et nummer som et program overfører til operativsystem, skript eller annen prosess som opprinnelig kjørte det når programmet er ferdig med å kjøre. Det er ingen reelle regler for hva tallene som brukes som en utgangsstatus betyr, selv om en verdi på null tradisjonelt betyr at programmet forlates normalt, og enhver verdi som ikke er null betyr at programmet avsluttes uventet. Ved å tilordne et nummer til utgangsstatus, kan det originale programmet eller prosessen som ringte koden fortelle om programmet vellykket utførte oppgavene eller andre handlinger som må utføres.
Nesten alle dataspråk og mange skriptspråk har en mekanisme eller funksjon på plass som kan returnere en utgangsstatus. Det er situasjoner der et program med vilje kan avslutte midt i løpet av å kjøre, ved å bruke en spesifikk feilkode for å indikere at noe er galt, for eksempel en manglende datafil eller mangel på datamaskinminne. Programmer som ikke eksplisitt definerer en exit-statuskode, vil returnere en null til det anropende programmet, med mindre operativsystemet eller språketolk tolker programmet på grunn av feil.
Utgangsstatusen kan også brukes til å kommunisere med et skript eller en annen prosess ved å gi bestemte verdier tilbake som indikerer hvilken handling som skal utføres neste gang. Et eksempel er et skript som er designet for å holde et program i gang til tross for mulige tider der programmet kan avslutte for vedlikehold. Denne ordningen vil fungere med skriptet som kjører programmet og deretter vente på at det skulle avslutte. Programmørene kunne ordne det slik at programmet returnerer ett nummer for å bety at det er permanent og ikke bør startes på nytt, og et annet nummer kan instruere skriptet til å vente i en periode og deretter starte programmet på nytt; fortsatt kan en tredje verdi indikere at programmet oppsto en feil og trenger oppmerksomhet fra en programmerer.
Bruken av en exit-statuskode for kommunikasjon er praktisk i visse situasjoner på grunn av sikkerheten og andre begrensninger som noen programmer har under forskjellige operativsystemer. Det er mange tilfeller der det er umulig for et program å kommunisere med sin anropsprosess eller et annet program som kjører parallelt på det samme systemet. I disse situasjonene ville alternativene for kommunikasjon mellom programmer være begrenset til komplekse ordninger som involverer delt minne, nettverkskontaktforbindelser eller skriver filer. Ved å bruke en utgangsstatus kan enkel informasjon sendes på en veldig grunnleggende måte som ikke krever at det tilpasses et tilpasset rammeverk.