

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
終了コードとは何か
コンピュータの世界では終了コードという数字がよく使われます。これは「その処理がどう終わったか」を表す合図です。多くの場合 0 は「正常に終了したこと」を意味し、0 以外の数字は「何らかのエラーや問題が起きたこと」を示します。プログラム同士が連携するときにもこの終了コードを受け取って次の動作を決めることがあります。つまり終了コードは 結果を伝える小さな合図のようなものです。
0 が成功の合図である理由は、長い処理の最後に「問題がなかった」と確かめやすいからです。もし途中で問題があれば、異なるコードを返して原因を伝えようとします。これが分かれば、次に何を修正すべきかを推測する手掛かりになります。
終了コードの使われ方
プログラムの実行結果を次の処理へ渡すとき、終了コードは重要な情報源になります。たとえばある処理を別の処理が前提としている場合、前の処理が 正常終了したかどうかを確認してから進むかどうかを決めます。コマンドラインの世界では特にこの考え方が日常的です。
よく使われるコードと意味の例
以下の表は代表的な終了コードの例です。プログラムごとに意味は異なることもありますが、一般的な考え方をつかむのに役立ちます。
| 終了コード | 意味 |
|---|---|
| 0 | 正常終了と成功 |
| 1 | 一般的なエラー |
| 2 | 不正な使い方やコマンドの間違い |
| 3 | データの誤りや不整合 |
| 255 | プログラム実行時の重大なエラーの限界値 |
言語別の使い方のヒント
シェルでは実行後に直ちに終了コードを確認します。代表的には直後の変数 $?がその値を教えてくれます。終了コードを調べることで次の処理を安全に分岐できます。
Pythonではsys exit 関数を使って終了コードを設定します。たとえば成功なら 0 を返し、エラーなら 1 以上の値を返します。他のプログラムと連携するときはこのコードを伝えることが多いです。
C言語では main 関数の戻り値として return によって終了コードを返します。0 以外の値はエラーの目安になります。
まとめと実践のコツ
終了コードは単なる数字ではなく、プログラムの状態を伝える大事な合図です。0 を最優先で確認する習慣をつけ、連携するツールやスクリプトがどう解釈するかを知っておくと作業がぐっと楽になります。
初心者向けの実践ヒント
日常的な作業では終了コードを想定どおりに扱えるように、エラーメッセージを記録する習慣をつけましょう。スクリプトを書くときは 終了条件を分岐で表すことを意識し、失敗したときの対処手順を事前に決めておくと安心です。
終了コードの同意語
- 終了ステータス
- プログラムやプロセスが終了したときに返す状態を表す数値。0 が通常は成功、0 以外がエラーを示すことが多い。
- 終了値
- 終了時に返される値。一般に 0 が成功、0 以外はエラーや異常を意味することが多い。
- リターンコード
- 関数やプログラムが返すコード。処理の成否や結果を外部へ伝える目的で用いられる。
- 返却コード
- 呼び出し元へ返されるコード。処理の結果を表す数値や文字列などの値を含むことがある。
- 終了成否コード
- 処理が成功したかどうかを示すコード。一般的には 0 が成功、非0 が失敗と解釈されることが多い。
- 終了結果コード
- 処理の結果をコードとして表したもの。成功・失敗の判断材料として用いられる。
- 終了状態
- 終了時の状態を示す概念。通常は数値のコードとして表され、0=成功、非0=エラーのように解釈されることが多い。
- リターン値
- 関数やプログラムが外部へ返す値の総称。数値・文字列などを含み、終了コードを指すことが多い。
- エグジットコード
- exit code の日本語表現の一つ。技術文書やコードコメントでそのまま用いられることがある。
- 終了ステータスコード
- 終了ステータスと同じく、終了時の状態を数値コードで表したもの。0 が成功、非0 がエラーを示すことが多い。
- ステータスコード(終了文脈)
- 終了文脈で用いられる「状態コード」。OS やプログラムの終了結果を表す言葉として使われることがあるが、HTTP など他の意味にもなるので文脈に注意。
終了コードの対義語・反対語
- 正常終了コード
- プログラムがエラーなく完了したことを示す終了コード。多くは 0 を意味します。
- 成功コード
- 処理が成功して終了したことを示すコード。文脈により 0 のこともありますが、基本は「成功」の意味です。
- 0による正常終了
- 終了コードが 0 の場合、処理が正常に完了したことを意味します。
- 正常終了ステータス
- プロセスが正常に終了した状態を表す表現。
- 異常終了コード
- エラーや予期せぬ事象により終了したコード。原因は様々です。
- 失敗コード
- 処理が失敗した際に返すコード。非ゼロの値であることが多いです。
- エラーコード
- 実行時にエラーが発生して終了したことを示すコード。原因特定の手がかりになります。
- 非ゼロ終了コード
- 0 以外の値を返して終了した状態。一般に異常を示します。
- 終了ステータス(異常)
- 異常終了を表す終了状態。
終了コードの共起語
- 戻り値
- プログラムやコマンドが呼び出し元に返す数値。多くの場合、0が成功を、0以外が何らかのエラーを示します。
- 返り値
- 関数や手続きが返す値のこと。終了コードと混同されがちですが、文脈としては同義に使われることが多いです。
- 返却値
- 関数の実行結果として返される値。日本語では“返却値”と表記されることもあります。
- リターンコード
- 英語の Return code の和訳。終了コードの別表現として使われます。
- 成功
- 終了コードが0で表されることが多く、処理が正常に完了した状態を指します。
- 失敗
- 処理が途中で止まるなど、期待通りに終了しなかった状態を指します。
- エラー
- 問題が発生して終了したことを示す値。非0のコードが割り当てられることが一般的です。
- 非ゼロ
- 0以外の値のこと。エラーや異常終了の指標として使われます。
- ゼロ
- 0 の値。正常終了を意味することが多いですが、仕様により異なる場合もあります。
- 終了ステータス
- OSやシェルが管理する終了状態の総称。終了コードともほぼ同義です。
- ステータスコード
- 終了状態を表す数値。APIやOS、シェルなどで用いられます。
- シグナル
- 外部要因でプロセスが停止する原因。シグナルにより終了する場合、別途終了コードを持つことがあります。
- exitコマンド
- シェルやコマンドラインでプロセスを終了させ、任意の終了コードを返すための命令です。
- シェル
- コマンドを解釈・実行する環境。終了コードはシェルが返す値として扱われます。
- バッチファイル
- Windowsで複数のコマンドをまとめて実行するファイル。終了コードは処理の成否を判定する指標になります。
- WindowsのERRORLEVEL
- Windowsのバッチファイルで、直前のコマンドの終了コードを判定する仕組みの名称です。
- プロセス
- 実行中のプログラムそのもの。終了コードはこのプロセスの終了状態を表します。
- 子プロセス
- 親プロセスが生成する別の実行単位。子プロセスの終了コードを親が取得します。
- ログ
- 終了コードはログに記録されることが多く、後から原因究明に役立ちます。
- 正常終了
- 処理が問題なく完了した状態。一般的には終了コードが0になります。
- 異常終了
- エラーや想定外の事象により処理が終了する状態。非0の終了コードが多く用いられます。
- CI/CD
- 継続的インテグレーション/デリバリの自動パイプラインにおいて、終了コードでビルドやテストの成否を判断します。
終了コードの関連用語
- 終了コード
- プログラムやプロセスが終了時に返す数値。0 は通常正常終了を、0以外はエラーや特定の状態を示すことが多い。
- 戻り値
- 関数やプログラムが返す値。文脈によって意味が異なり、必ずしも終了コードと同じとは限らないことがある。
- 終了ステータス
- プロセスの終了状態を表す概念。POSIXのwait系で取得・判定される。
- 正常終了
- 終了コードが0など、処理が問題なく完了した状態を指す。
- 異常終了
- 終了コードが0以外の状態。エラーや例外的な終了を意味する。
- ゼロ終了コード
- 終了コードが0のケース。通常は正常終了を示す。
- 非ゼロ終了コード
- 終了コードが0以外のケース。エラーや特定の意味を表すことが多い。
- POSIX wait系マクロ
- wait/waitpidなどで子プロセスの終了コードを判定・抽出するためのマクロ群。
- WIFEXITED
- 子プロセスが正常終了したかを判定するマクロ。
- WEXITSTATUS
- 子プロセスの終了コードを取得するマクロ。
- WIFSIGNALED
- 子プロセスがシグナルで終了したかを判定するマクロ。
- WTERMSIG
- 終了に用いられたシグナルの番号を返すマクロ。
- WIFSTOPPED
- 子プロセスが停止しているかを判定するマクロ。
- exit()
- C言語の標準ライブラリ関数。呼び出すと現在のプロセスを終了させ、指定の終了コードを返す。
- _exit()
- C言語の低レベル終了関数。クリーンアップを省略して即座に終了する。
- ExitProcess
- Windows APIで現在のプロセスを終了させる関数。
- GetExitCodeProcess
- Windows APIで終了コードを取得する関数。
- EXIT_SUCCESS
- C言語のマクロ。通常は0を表す正常終了を意味する。
- EXIT_FAILURE
- C言語のマクロ。通常は1など非ゼロの値を表す異常終了を意味する。
- sysexits.h
- BSD系の標準的な終了コードを定義するヘッダ。
- EX_USAGE
- sysexits.hに定義される、使い方の間違いによる終了コード。
- EX_DATAERR
- データの誤りなどが原因の終了コード。
- EX_NOINPUT
- 入力ファイルが見つからないなどの終了コード。
- EX_CANTCREAT
- ファイル作成不可などの終了コード。
- EX_OSERR
- OSのエラーによる終了コード。
- EX_OSFILE
- OSがファイルを見つけられないなどの終了コード。
- EX_CONFIG
- 設定の不正などによる終了コード。
- errno
- OSやライブラリのエラー番号。終了コードとして直接決まるとは限らないが、処理後の決定に影響することがある。
- ゾンビプロセス
- 子プロセスが終了済みだが親がwaitして回収していない状態。終了コードを取得できるよう待つ必要がある。
- 関数戻り値と終了コードの違い
- 関数の戻り値はその関数の結果を表す値で、プログラム全体の終了コードとは別扱いになることが多い。
- sys.exit (Python)
- Pythonでプログラムを終了させる際に任意の終了コードを指定できる関数。
- SystemExit
- Pythonが終了を通知する際の例外クラス。
- os._exit (Python)
- Pythonの低レベル終了、クリーンアップを省略して即座に終了する。
- Go: os.Exit
- Go言語でプログラムを終了させる関数。引数が終了コードになる。
- Java: System.exit
- Javaでプログラムを終了させる静的メソッド。引数の整数が終了コードになる。
- Bashの$?
- 直前のコマンドの終了コードを表す特殊パラメータ。
- HTTPステータスコード
- Web通信の結果を表すコード。例: 200は成功、404は見つからない等。終了コードと似た考え方だが用途は異なる。
- Exit status / Return code の違いの認識
- 用語の混同を避けるため、場所に応じて意味を区別することが大切。



















