Wat is de exitstatus?
De exitstatus van een programma, ook wel de retourcode genoemd, is een nummer dat een programma doorgeeft aan het besturingssysteem, het script of een ander proces dat het oorspronkelijk heeft uitgevoerd zodra het programma is uitgevoerd. Er zijn geen echte regels voor wat de getallen die als uitgangsstatus worden gebruikt betekenen, hoewel een waarde van nul traditioneel betekent dat het programma normaal wordt afgesloten, en elke niet-nulwaarde betekent dat het programma onverwacht werd beëindigd. Door een nummer toe te wijzen aan de exitstatus, kan het oorspronkelijke programma of proces dat de code heeft genoemd, bepalen of het programma de benodigde taken heeft uitgevoerd of dat andere acties moeten worden ondernomen.
Bijna alle computertalen en veel scripttalen hebben een mechanisme of functie die een exitstatus kunnen retourneren. Er zijn situaties waarin een programma opzettelijk kan worden beëindigd terwijl het wordt uitgevoerd, met behulp van een specifieke foutcode om aan te geven dat er iets mis is, zoals een ontbrekend gegevensbestand of een gebrek aan computergeheugen. Programma's die niet expliciet een exitstatuscode definiëren, retourneren een nul naar het aanroepende programma, tenzij het besturingssysteem of de taalinterpreter het programma beëindigt vanwege fouten.
De exit-status kan ook worden gebruikt om te communiceren met een script of een ander proces door specifieke waarden terug te geven die aangeven welke actie vervolgens moet worden ondernomen. Een voorbeeld is een script dat is ontworpen om een programma actief te houden ondanks mogelijke momenten waarop het programma kan worden afgesloten voor onderhoud. Dit schema werkt met het script dat het programma uitvoert en vervolgens wacht tot het wordt afgesloten. De programmeurs kunnen het zo rangschikken dat het programma een nummer retourneert om aan te geven dat het permanent wordt afgesloten en niet opnieuw moet worden gestart, en een ander nummer kan het script opdracht geven een tijdje te wachten en het programma vervolgens opnieuw te starten; nog een derde waarde kan erop duiden dat het programma een fout heeft aangetroffen en aandacht van een programmeur nodig heeft.
Het gebruik van een exit-statuscode voor communicatie is handig in bepaalde situaties vanwege de beveiliging en andere beperkingen die sommige programma's hebben onder verschillende besturingssystemen. Er zijn veel gevallen waarin het voor een programma onmogelijk is om te communiceren met het aanroepproces of een ander programma dat parallel op hetzelfde systeem draait. In deze situaties zijn de opties voor communicatie tussen programma's beperkt tot complexe schema's met gedeeld geheugen, netwerkbusverbindingen of het schrijven van bestanden. Door een exitstatus te gebruiken, kan eenvoudige informatie worden doorgegeven op een zeer eenvoudige manier waarvoor geen aangepast raamwerk hoeft te worden ontwikkeld.