Quel est le statut de sortie?
L'état de sortie d'un programme, également appelé code de retour, est un numéro qu'un programme transmet au système d'exploitation, au script ou à un autre processus qui l'exécutait à l'origine une fois le programme exécuté. Il n'y a pas de règles réelles pour ce que les nombres utilisés en tant que statut de sortie signifient, bien qu'une valeur de zéro signifie traditionnellement que le programme est quitté, et toute valeur autre que zéro signifie que le programme s'est arrêté de manière inattendue. En attribuant un numéro à l'état de sortie, le programme ou processus d'origine qui a appelé le code peut indiquer si le programme a correctement exécuté les tâches nécessaires ou si d'autres actions doivent être entreprises.
Presque tous les langages informatiques et de nombreux langages de script ont un mécanisme ou une fonction en place qui peut renvoyer un statut de sortie. Il existe des situations dans lesquelles un programme peut s’arrêter intentionnellement en cours d’exécution, en utilisant un code d’erreur spécifique pour indiquer que quelque chose ne va pas, comme un fichier de données manquant ou un manque de mémoire. Les programmes qui ne définissent pas explicitement un code d'état de sortie renverront un zéro au programme appelant, à moins que le système d'exploitation ou l'interpréteur de langue ne mette fin au programme en raison d'erreurs.
Le statut de sortie peut également être utilisé pour communiquer avec un script ou un autre processus en renvoyant des valeurs spécifiques indiquant les actions à entreprendre par la suite. Un exemple serait un script conçu pour maintenir un programme en cours d'exécution en dépit des périodes possibles de fermeture du programme pour des raisons de maintenance. Ce schéma fonctionnerait avec le script exécutant le programme et attendant sa fin. Les programmeurs peuvent arranger cela pour que le programme retourne un numéro comme signifiant qu'il ferme définitivement et qu'il ne devrait pas être redémarré, et un autre numéro pourrait indiquer au script d'attendre une période donnée, puis de relancer le programme; encore une troisième valeur pourrait indiquer que le programme a rencontré une erreur et nécessite l'attention d'un programmeur.
L'utilisation d'un code d'état de sortie pour les communications est pratique dans certaines situations en raison de la sécurité et d'autres limitations imposées par certains programmes sous différents systèmes d'exploitation. Dans de nombreux cas, il est impossible pour un programme de communiquer avec son processus appelant ou avec un autre programme fonctionnant en parallèle sur le même système. Dans ces situations, les options de communication entre programmes seraient limitées à des schémas complexes impliquant une mémoire partagée, des connexions de socket réseau ou l’écriture de fichiers. En utilisant un statut de sortie, des informations simples peuvent être transmises de manière très basique, sans qu'il soit nécessaire de développer un cadre personnalisé.