主要メッセージの手引き

データメッセージではありません。

原因

STREAMS デバイスに対して read(2)、getmsg(2)、または ioctl(2) の I_RECVFD コールを行なっている間に、処理できない何かが待ち行列の先頭に入りました。実際に入るものはコールによって異なります。1. read(2): 制御情報または渡されたファイル記述子、2. getmsg(2): 渡されたファイル記述子、3. ioctl(2): 制御情報またはデータの情報などがあります。

テクニカルノート

このエラーのシンボルの名前は、EBADMSGerrno=77 です。

定義されたデータ型に対して値が大きすぎます。

原因

IPC オブジェクトまたはファイルシステムオブジェクトのユーザー ID またはグループ ID が大きすぎて、呼び出し側が提供した構造体の適切なメンバーに格納できません。

対処方法

より新しいシステムでアプリケーションを実行するか、またはプログラムの作成者に解決を依頼してください。

テクニカルノート

このエラーは、宣言されたメンバー構造体のサポート範囲よりも大きな範囲のユーザ ID 値またはグループ ID 値をサポートしているシステムでのみ表示されます。通常、この状態は、IPC またはファイルシステムオブジェクトが、ローカルシステムのものよりも大きな uid_t 型、off_t 型、または gid_t 型の値を持つリモートマシン上にあるため発生します。

このエラーのシンボルの名前は、EOVERFLOW、errno=79 です。

ディスクの割当てを超えています。

原因

ユーザファイルシステムでユーザのディスク制限を超過しました。通常、制限を超えてファイルが作成されたか、またはファイルが制限よりも大きくなったことが原因です。これは、磁気ディスクで発生することがほとんどで、光ディスクでは発生しません。この状態の発生後に作成されたデータは失われます。

対処方法

ユーザがファイルを削除して、ディスクの使用度を制限以下にするか、またはサーバ管理者が edquota(1M) コマンドを使用して、ユーザのディスク制限を緩和します。

テクニカルノート

このエラーのシンボルの名前は、EDQUOT、errno=49 です。

ディレクトリが空ではありません。

原因

rmdir によるディレクトリ削除などのディレクトリ操作は、空ディレクトリに対してのみ実行できます。

対処方法

ディレクトリを削除するには、まず、このディレクトリに含まれているファイルをすべて削除します。空でないディレクトリ階層を削除する簡単な方法は、rm -r コマンドを使用することです。

テクニカルノート

このエラーのシンボルの名前は、ENOTEMPTY、errno=93 です。

ディレクトリです。

原因

ディレクトリに対して、ファイルであるかのように読み取りまたは書き込みを行おうとしました。

対処方法

カレントディレクトリ内の全ファイルのリストを調べて、ディレクトリではなく、ファイルを指定しもう一度実行します。

テクニカルノート

このエラーのシンボルの名前は、EISDIR、errno=21 です。

ディレクトリではありません。

原因

パスの前半部分や chdir(2) システムコールの引数など、ディレクトリが必要な部分でディレクトリ以外を指定しました。

対処方法

カレントディレクトリ内の全ファイルのリストを参照してから、ファイルの代わりにディレクトリを指定して、もう一度実行してください。

テクニカルノート

このエラーのシンボルの名前は、ENOTDIR、errno=20 です。

テキストファイルは使用中です。

原因

このエラーは、書き込みのために現在開いている手続きのみの (共有テキスト) ファイルを実行しようとした場合や、実行中の手続きのみのファイルを書き込みのために開こうとしたり、削除しようとしたりする場合に発生します。このメッセージは現在は使用されていません。

テクニカルノート

このエラーのシンボルの名前は、ETXTBSYerrno=26 です。

デッドロック状態が検出され回避されました。

原因

プログラミングのデッドロック状態が検出され、回避されました。

対処方法

システムがデッドロックを検出し回避しなかった場合は、ソフトウェアの一部がハングします。そのプログラムを再度実行してください。デッドロックは再現しない場合があります。

テクニカルノート

このエラーは、通常、ファイルとレコードのロックに関連しています。ただし、mutex、セマフォ、条件変数、読み取り/書き込みロックが対象になる場合もあります。

このエラーのシンボルの名前は、EDEADLK、errno=45 です。

関連項目

System Interface Guide』のデッドロック処理に関する節を参照してください。また、『Multithreaded Programming Guide』のデッドロック回避に関する節も参照してください。

デバイス上の空き領域が足りません。

原因

通常ファイルの書き込み時またはディレクトリエントリの作成時に、デバイスに空き領域が残っていません。ディスク、テープ、またはフロッピーディスクがデータでいっぱいです。この状態のときに書き込まれたデータはすべて失われます。

対処方法

書き込みたいデータをすべて収めるのに必要な領域が空くまで、ハードディスクまたはフロッピーディスクから不要なファイルを削除します。一部のディレクトリを別のファイルシステムに移動して、それに応じたシンボリックリンクを作成することを推奨します。テープがいっぱいの場合は、残りを別のテープに収めるか、高密度設定を使用するか、または大容量のテープを使用します。

マルチボリュームのテープまたはフロッピーディスクを作成するには、pax(1) または cpio(1) コマンドを使用します。現時点では、tar(1) はシングルボリュームに制限されています。

テクニカルノート

このエラーのシンボルの名前は、ENOSPC、errno=28 です。

デバイスにまたがるリンクになります。

原因

別のファイルシステムなど、別のデバイス上のファイルに対してハードリンクしようとしました。

対処方法

ln -s を使用してシンボリックリンクを確立します。シンボリックリンクは、ファイルシステムの境界を越えることができます。

テクニカルノート

このエラーのシンボルの名前は、EXDEV、errno=18 です。

デバイスは使用中です。

原因

マウント済みのデバイスにマウントしようとしたか、またはアクティブなファイル (オープンファイル、カレントディレクトリ、マウントポイント、実行中のプログラムなど) が入っているデバイスへのマウントを解除しようとしました。また、このメッセージは、すでに使用可能状態になっているアカウンティングを使用可能にしようとした場合にも表示されます。

対処方法

アクティブプロセスを含むデバイスのマウントを解除するには、そのマウントポイントの下にあるすべてのファイルを閉じ、そこから開始しているプログラムがあれば終了し、ディレクトリをその階層から変更します。次に、もう一度マウントを解除します。

テクニカルノート

mutex、セマフォ、条件変数、読み取り/書き込みロックは、このエラー状態を設定することによって、ロックが保持されていることを示します。

このエラーのシンボルの名前は、EBUSYerrno=16 です。

デバイスへの ioctl が正しくありません。

原因

これはプログラミングエラーです。

対処方法

プログラムの作成者に、この状態を解消するように依頼します。特殊な文字型デバイスの制御を受け入れられるように、プログラムを修正する必要があります。

テクニカルノート

ioctl() システムコールが、特殊な文字型デバイスではないファイルの引数として与えられました。このメッセージは、分かりにくかった従来の「Not a typewriter」メッセージに代わるものです。

このエラーのシンボルの名前は、ENOTTY、errno=25 です。