終了ステータスとは何ですか?
リターンコードとも呼ばれるプログラムの終了ステータスは、プログラムの実行が終了すると、プログラムが最初に実行したオペレーティングシステム、スクリプト、またはその他のプロセスに渡す番号です。 終了ステータスとして使用される数値の意味についての実際のルールはありませんが、値がゼロの場合はプログラムが正常に終了したことを意味し、ゼロ以外の値はプログラムが予期せず終了したことを意味します。 終了ステータスに番号を割り当てることにより、コードを呼び出した元のプログラムまたはプロセスは、プログラムが必要なタスクを正常に実行したか、他のアクションを実行する必要があるかを判断できます。
ほとんどすべてのコンピューター言語と多くのスクリプト言語には、終了ステータスを返すことができる何らかのメカニズムまたは機能が備わっています。 特定のエラーコードを使用して、データファイルの欠落やコンピューターメモリの不足など、何かが間違っていることを示すプログラムを実行中に意図的に終了できる場合があります。 終了ステータスコードを明示的に定義していないプログラムは、エラーのためにオペレーティングシステムまたは言語インタープリターがプログラムを終了しない限り、呼び出し元プログラムにゼロを返します。
終了ステータスは、次に実行するアクションを示す特定の値を返すことにより、スクリプトまたは別のプロセスと通信するためにも使用できます。 1つの例は、プログラムがメンテナンスのために終了する可能性がある場合でも、プログラムを実行し続けるように設計されたスクリプトです。 このスキームは、プログラムを実行し、終了するのを待つスクリプトで動作します。 プログラマは、プログラムが1つの番号を返すように調整して、プログラムが永続的に終了して再起動しないようにし、別の番号がスクリプトに一定時間待機してからプログラムを再起動するように指示できます。 それでも3番目の値は、プログラムでエラーが発生し、プログラマーの注意が必要であることを示している可能性があります。
通信に終了ステータスコードを使用すると、特定の状況で便利になります。これは、一部のプログラムには異なるオペレーティングシステムの下でのセキュリティやその他の制限があるためです。 プログラムがその呼び出しプロセスまたは同じシステムで並行して実行されている別のプログラムと通信することが不可能な場合が多くあります。 これらの状況では、プログラム間の通信のオプションは、共有メモリ、ネットワークソケット接続、またはファイルの書き込みを含む複雑なスキームに制限されます。 終了ステータスを使用すると、カスタムフレームワークを開発する必要のない非常に基本的な方法で簡単な情報を渡すことができます。