logo

Linuxのエラーコード

Linux エラー コードは、プログラムの作業中または使用中にシステムでエラーが発生した場合に表示されるコードです。エラーは、エラー コードを利用して認識できます。エラー コードは、エラーの原因を認識するのに役立ちます。

Linux システムで作業している場合、エラーが発生する可能性があることは明らかです。一部のエラーは軽微なものであり、プログラムの中断につながるものではない場合があります。ただし、システムやプログラムの応答停止を引き起こすエラーが発生する可能性があります。これらのエラーにより、データが失われたり、プログラムが完了できなくなる可能性があります。ほとんどのエラーはコードまたはメッセージの形式で表示されます。

このセクションでは、C プログラミングのエラーと、C プログラミングで発生する可能性のあるエラーのリストを見ていきます。 Linux システム。

C プログラミングにおける Linux エラー

熟練したプログラマは、エラーへの対処方法を知っている必要があります。 C プログラミング言語は、エラー処理の直接のサポートを提供しません。エラーの原因を検出して対処する必要があります。 C 言語では、戻り値に失敗または成功が表示されます。 C プログラム内の関数が失敗した場合は、それに応じてエラーを処理する必要があります。それ以外の場合は、ログ ファイルの最後にエラーが記録されます。

C プログラムの実行中に、「エラー番号: 17」などのエラー番号が表示される場合があります。ここで、エラー番号 17 は、ファイルがすでに存在していることを意味します。すべてのエラー番号には意味があります。

C言語は変数をサポートしています 'エラーいいえ 。」このエラー番号変数を使用すると、いくつかのエラー処理関数を使用してエラーを適切に処理できます。

外部変数エラー番号を使用するには、ヘッダー ファイルをインクルードする必要があります。 「errno.h」 ヘッダー ファイルは、「errno」変数を定義するために使用されます。 errno変数は、エラー発生時にシステムコールおよびライブラリ関数によって設定されます。には 2 つの重要な機能があります。 C プログラミング言語 エラーに対処するため。 恐怖 そして ストエラー 。 perror 関数はエラーの説明を出力するために使用され、sterror 関数はエラー コードを含む文字列を返します。

errnoを使ってエラーコードの一覧を表示してみましょう。

Linux エラー番号

errno ユーティリティは、errno コード、マクロ名、および対応する説明を検索するために使用されます。たとえば、Linux システムで ENOENT を提供すると、コード 2 と説明が表示されます。 ' そのようなファイル、又はディレクトリはありません 。」コード 2 を指定すると、 ENOENT とその説明

errno ユーティリティがマシンにインストールされていない場合は、次のようなエラーが表示されます。

Linuxのエラーコード

インストールするには、以下のコマンドを実行します。

 sudo apt install moreutils 

上記のコマンドを実行すると、errno ユーティリティを含む moreutils パッケージがマシンにインストールされます。

Linuxのエラーコード

エラーコード一覧を表示する

エラーコードの一覧を表示するには、次のようにコマンドを実行します。

 errno -l 

上記のコマンドは、RedHat によるエラー コードのリストを表示します。以下の出力を考えてみましょう。

Linuxのエラーコード

エラー番号の情報を表示する

特定のエラー番号の情報を表示するには、次のようにコマンドを実行します。

 errno 2 

上記のコマンドを実行すると、エラー番号 2 の説明が表示されます。次の出力を考慮してください。

Linuxのエラーコード

エラー名の情報を表示する

特定のエラー名の情報を表示するには、errno コマンドに続いてエラー名を実行します。たとえば、エラー名の情報を表示するには エスアールチ ,' 次のようにコマンドを実行します。

 errno ESRCH 

上記のコマンドは、指定されたエラー名に関する情報を表示します。以下の出力を考えてみましょう。

Linuxのエラーコード

文字列を使用してエラーを表示する

説明の文字列を使用してエラーの説明を表示するには、次のようにコマンドを実行します。

 errno -s permission 

上記のコマンドは、説明に文字列権限が含まれるエラーを表示します。以下の出力を考えてみましょう。

Linuxのエラーコード

Linux システムエラーのリスト

以下は、Linux システムで発生する可能性のあるエラーの部分的なリストです。

エラーコード エラーいいえ 説明
アッパー 1 操作が許可されていない場合に表示されます。
エノエント 2 該当するファイルまたはディレクトリが存在しない場合に表示されます。
エスアールチ 3 該当するプロセスが存在しない場合に表示されます。
EINTR 4 中断されたシステムコールの場合に表示されます
EIO 5 入出力エラーの場合に表示されます。
エンクシオ 6 該当するデバイスがない場合、またはアドレスが存在しない場合に表示されます。
E2BIG 7 引数リストが長すぎる場合に表示されます。
ENOEXEC 8 実行フォーマットエラーがある場合に表示されます
EBADF 9 ファイル記述子が不正な場合に表示されます。
エチャイルド 10 子プロセスが存在しない場合に表示されます。
もう一度 十一 リソースが一時的に利用できない場合に表示されます。
エノメム 12 システムがメモリを割り当てられない場合に表示されます。
アクセス 13 許可が拒否された場合に表示されます。
過失 14 不正なアドレスがある場合に表示されます。
ENOTBLK 15 ブロックデバイスが必要な場合に表示されます。
忙しい 16 デバイスまたはリソースがビジーな場合に表示されます。
存在する 17 ファイルが既に存在する場合に表示されます。
EXDEV 18 無効なクロスデバイスリンクがある場合に表示されます。
エノデブ 19 該当するデバイスがない場合に表示されます。
エノティル 二十 ディレクトリがない場合に表示されます。
エイスディル 21 ディレクトリがある場合に表示されます。
単一選択 22 無効な引数があった場合に表示されます。
つける 23 システム内で開いているファイルが多すぎる場合に表示されます。
死んだ 24 開いているファイルが多すぎる場合に表示されます。
イノッティ 25 デバイスに不適切な ioctl がある場合に表示されます。
ETXTBSY 26 テキストファイルがビジー状態の場合に表示されます。
エフビッグ 27 ファイルが大きすぎる場合に表示されます。
ENOSPC 28 デバイスに空き容量が残っていない場合に表示されます。
エスパイプ 29 不正シークの場合に表示されます。
エロフス 30 読み取り専用ファイルシステムの場合に表示されます。
エムリンク 31 リンクが多すぎる場合に表示されます。
エピペ 32 配管が破損した場合に表示されます。
エドム 33 数値引数が定義域外の場合に表示されます。
エラーン 3.4 数値結果が範囲外の場合に表示されます。
エデッドク 35 リソースのデッドロックが回避された場合に表示されます。
エナメトゥーロング 36 ファイル名が長すぎる場合に表示されます。
エノルク 37 利用可能なロックがない場合に表示されます。
エノシス 38 機能が実装されていない場合に表示されます。
緊急 39 ディレクトリが空でない場合に表示されます。
エループ 40 シンボリック リンクのレベルが多すぎる場合に表示されます。
ENOMSG 42 希望する種類のメッセージがない場合に表示されます。
EIDRM 43 識別子が削除された場合に表示されます。
エクレング 44 チャンネル番号が範囲外の場合に表示されます。
EL2NSYNC 4つ。 レベル2が同期していない場合に表示されます。
EL3HLT 46 レベル3が停止している場合に表示されます。
EL3RST 47 レベル3をリセットすると表示されます。
エルンリング 48 リンク番号が範囲外の場合に表示されます。
イナッチ 49 プロトコルドライバーがアタッチされていない場合に表示されます。
エノクシ 50 利用可能な CSI 構造がない場合に表示されます。
EL2HLT 51 レベル2が停止している場合に表示されます。
それはそうだった 52 無効な交換の場合に表示されます。
エバドル 53 リクエストディスクリプタが不正な場合に表示されます。
完全に削除 54 交換がいっぱいの場合に表示されます。
ENOANO 55 アノード無しの場合に表示されます。
EBADRQC 56 リクエストコードが不正な場合に表示されます。
EBADSLT 57 無効なスロットの場合に表示されます。
エフォント 59 フォントファイル形式が不正な場合に表示されます。
片面 60 デバイスがストリームでない場合に表示されます。
エノデータ 61 データがない場合に表示されます。
イータイム 62 タイマーが切れた場合に表示されます。
ENOSR 63 ストリームリソースが不足している場合に表示されます。
イーノネット 64 本機がネットワーク上にない場合に表示されます。
ENOPKG 65 パッケージがインストールされていない場合に表示されます。
エレモート 66 オブジェクトがリモートの場合に表示されます。
イノリンク 67 リンクが切断されている場合に表示されます。
EADV 68 アドバタイズエラーの場合に表示されます。
ESRMNT 69 Srmountエラーの場合に表示されます。
ECOMM 70 送信時に通信エラーが発生した場合に表示されます。
エプロト 71 プロトコルエラーの場合に表示されます。
エマルティホップ 72 マルチホップを試みた場合に表示されます。
エドドット 73 RFS 固有のエラーの場合に表示されます。
EBADMSG 74 Bad messageの場合に表示されます。
イオーバーフロー 75 値が定義されたデータ型に対して大きすぎる場合に表示されます。
エノユニク 76 名前がネットワーク上で一意でない場合に表示されます。
EBADFD 77 ファイル記述子の状態が悪い場合に表示されます。
エレムチ 78 リモートアドレスが変更された場合に表示されます。
エリバック 79 必要な共有ライブラリにアクセスできない場合に表示されます。
エリブバド 80 破損した共有ライブラリにアクセスした場合に表示されます。
ELIBSCN 81 a.out に .lib セクションが破損している場合に表示されます。
エリブマックス 82 リンクしようとしている共有ライブラリが多すぎる場合に表示されます。
エリベセック 83 共有ライブラリを直接実行できない場合に表示されます。
EILSEQ 84 無効または不完全なマルチバイト文字またはワイド文字の場合に表示されます
再スタート 85 中断されたシステムコールを再開する必要があることを通知するために表示されます。
エストリップパイプ 86 ストリームパイプエラーがある場合に表示されます。
使用者 87 ユーザーが多すぎる場合に表示されます。
エノソック 88 非ソケットでのソケット操作の場合に表示されます。
EDESTADDRREQ 89 宛先アドレスが必要な場合に表示されます。
EMSGSIZE 90 メッセージが長すぎる場合に表示されます。
エプロトタイプ 91 ソケットのプロトコルのタイプが間違っている場合に表示されます。
エノプロトオプト 92 プロトコルが利用できない場合に表示されます。
エプロトノサポート 93 プロトコルがサポートされていない場合に表示されます。
ESOCKTNOSサポート 94 ソケットタイプがサポートされていない場合に表示されます。
エオプノツプ 95 サポートされていない操作の場合に表示されます。
EPFNOサポート 96 プロトコル ファミリがサポートされていない場合に表示されます。
EAFNOサポート 97 アドレス ファミリがプロトコルでサポートされていない場合に表示されます。
エアドリヌス 98 すでに使用されているアドレスの場合に表示されます。
EADDRNOTAVAIL 99 システムが要求されたアドレスを割り当てることができない場合に表示されます。
イーネットダウン 100 ネットワークがダウンしている場合に表示されます。
ENETUNREACH 101 ネットワークに到達できない場合に表示されます。
エネットリセット 102 リセット時にネットワークが接続を切断した場合に表示されます。
協力者 103 ソフトウェアによって接続が中断された場合に表示されます。
接続リセット 104 ピアによって接続がリセットされた場合に表示されます。
イノブフス 105 利用可能なバッファ領域がない場合に表示されます。
エスコン 106 トランスポート エンドポイントがすでに接続されている場合に表示されます。
エノトコン 107 トランスポートエンドポイントが接続されていない場合に表示されます。
シャットダウン 108 トランスポート エンドポイントのシャットダウン後にシステムが送信できない場合に表示されます。
エトゥーマニーレフス 109 参照が多すぎる場合に表示されます: スプライスできません。
Eタイムアウト 110 接続がタイムアウトした場合に表示されます。
サービス拒否 111 接続が拒否された場合に表示されます。
Eホストダウン 112 ホストがダウンしている場合に表示されます。
イーホスタンリーチ 113 ホストへの経路がない場合に表示されます。
すでに 114 すでに操作が実行中の場合に表示されます。
それぞれの進歩 115 操作が進行中の場合に表示されます。
クリック 116 Staleファイルハンドルの場合に表示されます。
ユークリーン 117 構造物にクリーニングが必要な場合に表示されます。
ユニフォーム 118 XENIX 名前付きタイプのファイルではない場合に表示されます。
エナベイル 119 使用可能な XENIX セマフォがない場合に表示されます。
エイスナム 120 名前付きタイプのファイルがある場合に表示されます。
エレモティオ 121 リモートI/Oエラーの場合に表示されます。
エドクォート 122 ディスククォータを超過した場合に表示されます。
エノメディアム 123 メディアが見つからない場合に表示されます。
メディアタイプ 124 メディアの種類が間違っている場合に表示されます。
キャンセルされました 125 操作をキャンセルした場合に表示されます。
エノキー 126 必要なキーが利用できない場合に表示されます。
EKEY期限切れ 127 キーの有効期限が切れている場合に表示されます。
EKEY取り消し 128 キーが取り消されている場合に表示されます。
Eキーが拒否されました 129 キーがサービスによって拒否された場合に表示されます。
オーナーデッド 130 所有者が死亡した場合に表示されます。
回収不可能 131 回復不可能な状態の場合に表示されます。
エルフキル 132 RF-kill により操作が不可能な場合に表示されます。
イーポイズン 133 メモリページにハードウェアエラーがある場合に表示されます。