STREAMS デバイスに対する read(2)、getmsg(2)、または ioctl(2) I_RECVFD コールで、データの一部が処理できないキューの先頭に移動します。この場合のデータはコールによって異なります。
read(2) - 情報を制御するか、ファイル記述子を渡します。
getmsg(2) - ファイル記述子を渡します。
ioctl(2) - データ情報を制御します。
このエラーの記号名は、EBADMSG、errno=77 です。
IPC オブジェクトまたはファイルシステムオブジェクトのユーザー ID またはグループ ID が大きすぎて、呼び出し側が提供した構造体の適切なメンバーに格納できません。
より新しいシステムでアプリケーションを実行するか、またはプログラムの作成者に解決を依頼してください。
このエラーは、宣言されたメンバー構造体のサポート範囲よりも大きな範囲のユーザー ID 値またはグループ ID 値をサポートしているシステムでのみ表示されます。通常、この状態は、IPC またはファイルシステムオブジェクトが、ローカルシステムのものよりも大きな uid_t 型、off_t 型、または gid_t 型の値を持つリモートマシン上にあるため発生します。
このエラーの記号名は、EOVERFLOW、errno=79 です。
ユーザーファイルシステムでユーザーのディスク制限を超過しました。通常、制限を超えてファイルが作成されたか、またはファイルが制限よりも大きくなったことが原因です。これは、磁気ディスクで発生することがほとんどで、光ディスクでは発生しません。この状態の発生後に作成されたデータは失われることがあります。
ユーザーがファイルを削除して、ディスクの使用度を制限以下にするか、またはサーバー管理者が edquota(1M) コマンドを使用して、ユーザーのディスク制限を緩和します。
このエラーの記号名は、EDQUOT、errno=49 です。
rmdir(1) によるディレクトリ削除などのディレクトリ操作は、空ディレクトリに対してのみ実行できます。
ディレクトリを削除するには、まず、このディレクトリに含まれているファイルをすべて削除します。空でないディレクトリ階層を削除する簡単な方法は、rm -r コマンドを使用することです。
このエラーの記号名は、ENOTEMPTY、errno=93 です。
ディレクトリに対して、ファイルであるかのように読み取りまたは書き込みを行おうとしました。
カレントディレクトリ内の全ファイルのリストを調べて、ディレクトリではなく、ファイルを指定しもう一度実行します。
このエラーの記号名は、EISDIR、errno=21 です。
パスの接頭辞や chdir(2) システムコールの引数など、ディレクトリが必要な部分でディレクトリ以外を指定しました。
カレントディレクトリ内の全ファイルのリストを参照してから、ファイルの代わりにディレクトリを指定して、もう一度実行してください。
このエラーの記号名は、ENOTDIR、errno=20 です。
このエラーは、書き込みのために現在開いている手続きのみの (共用テキスト) ファイルを実行しようとした場合や、実行中の手続きのみのファイルを書き込みのために開こうとしたり、削除しようとしたりする場合に発生します。このメッセージは現在は使用されていません。
このエラーの記号名は、ETXTBSY、errno=26 です。
プログラミングのデッドロック状態が検出され、回避されました。
システムがデッドロックを検出し回避しなかった場合は、ソフトウェアの一部がハングします。そのプログラムを再度実行してください。デッドロックが再び起こることはないかもしれません。
このエラーは、通常、ファイルとレコードのロックに関連しています。ただし、mutex、セマフォ、条件変数、読み取り/書き込みロックが対象になる場合もあります。
このエラーの記号名は、EDEADLK、errno=45 です。
『システムインタフェース』のデッドロック処理に関する節を参照してください。また、『マルチスレッドのプログラミング』のデッドロック回避に関する節も参照してください。
通常ファイルの書き込み時またはディレクトリエントリの作成時に、デバイスに空き領域が残っていません。ディスク、テープ、またはフロッピーディスクがデータでいっぱいです。この状態のときに書き込まれたすべてのデータが失われる可能性があります。
書き込みたいデータをすべて収めるのに必要な領域が空くまで、ハードディスクまたはフロッピーディスクから不要なファイルを削除します。一部のディレクトリを別のファイルシステムに移動して、それに応じたシンボリックリンクを作成することを推奨します。テープがいっぱいの場合は、残りを別のテープに収めるか、高密度設定を使用するか、または大容量のテープを使用します。
マルチボリュームのテープまたはフロッピーディスクを作成するには、pax(1) または cpio(1) コマンドを使用します。現時点では、tar(1) はシングルボリュームに制限されています。
このエラーの記号名は、ENOSPC、errno=28 です。
別のファイルシステムなど、別のデバイス上のファイルに対してハードリンクしようとしました。
ln -s を使用してシンボリックリンクを確立します。シンボリックリンクは、ファイルシステムの境界を越えることができます。
このエラーの記号名は、EXDEV、errno=18 です。
マウント済みのデバイスにマウントしようとしたか、またはアクティブなファイル (オープンファイル、カレントディレクトリ、マウントポイント、実行中のプログラムなど) が入っているデバイスへのマウントを解除しようとしました。また、このメッセージは、すでに使用可能状態になっているアカウンティングを使用可能にしようとした場合にも表示されます。
アクティブプロセスを含むデバイスのマウントを解除するには、そのマウントポイントの下にあるすべてのファイルを閉じ、そこから開始しているプログラムがあれば終了し、ディレクトリをその階層から変更します。次に、もう一度マウントを解除します。
mutex、セマフォ、条件変数、読み取り/書き込みロックは、このエラー状態を設定することによって、ロックが保持されていることを示します。
このエラーの記号名は、EBUSY、errno=16 です。
eject cdrom を実行して上記のメッセージが表示される場合、原因はさまざまです。チェックすべき内容と、デバイスから CD を取り出す方法を次に示します。
ステップ A: カレントディレクトリが CD の中ではないことを確認します。
% cd % eject cdrom |
ステップ B: root として次のコマンドを実行します。
# cd /etc/init.d # ./volmgt stop # eject cdrom |
# ./volmgt start |
ステップ C: root として次のコマンドを実行します。
# fuser /cdrom |
# ./volmgt stop # ps -ef | grep vold |
# eject cdrom |
# cd /vol |
再起動します。
CD ドライブが外付けの場合は、ドライブの電源を入れて、取り出しボタンを押します。
CD-ROM が外付けで、前述の 2 つの方法が失敗した場合は、取り出しボタンの右側の小さな穴に、細いまっすぐな棒状のものを挿入して、手動で CD-ROM を取り出します。
これはプログラミングエラーです。
プログラムの作成者に、この状態を解消するように依頼します。特殊な文字型デバイスの制御を受け入れられるように、プログラムを修正する必要があります。
ioctl(2) システムコールが、特殊な文字型デバイスではないファイルの引数として与えられました。このメッセージは、分かりにくかった従来の「Not a typewriter」メッセージに代わるものです。
このエラーの記号名は、ENOTTY、errno=25 です。