10.4 システムコールのエラー情報
バッチジョブ実行システムの環境で発生しやすいシステムコールのエラー情報に対する原因と対策を次の表に示す。表にないエラーについては,使用しているOSのマニュアルを参照すること。
なお,次の表ではAIXでのエラー番号を記載している。
バッチジョブ実行システムの環境で発生しやすいシステムコールのエラー情報の内容だけを記載しているため,詳細についてはメッセージで表示されたエラー番号に該当するニモニックを使用しているOSのerrno定義ファイル(errno.h)で調べること。
さらに,エラーとなったシステムコールについては,OSのマニュアルを参照し,該当するニモニックのエラーが返った原因を特定する。
エラー番号 |
エラー詳細 |
ニモニック |
考えられる主な原因 |
対策 |
---|---|---|---|---|
2 |
No such file or directory |
ENOENT |
ファイル,またはディレクトリが見つからない。 |
ファイルの存在を確認すること。 |
5 |
I/O error |
EIO |
入出力エラーが発生した。 |
OSまたはハードウェアの情報に従うこと。 |
6 |
No such device or address |
ENXIO |
ファイルに対するアクセス権がない。 |
デバイスが存在するか,またはデバイスが有効化しているか確認すること。デバイスが有効化されていない場合は,有効化すること。それ以外の原因の場合は,使用しているOSのマニュアルを参照すること。 |
7 |
Arg list too long |
E2BIG |
処理プログラムの引数または環境変数用の領域が不足している。 |
処理プログラムの引数を確認する。 DD要素,SETENV要素,SETENVFILE要素を見直し,不要な要素を削除する。 |
11 |
Resource temporarily unavailable |
EAGAIN |
次のどちらかの原因が考えられる。
|
|
12 |
Not enough space |
ENOMEM |
次のどちらかの原因が考えられる。
|
|
13 |
Permission denied |
EACCES |
アクセス権限が不正である。 |
ファイルに対するアクセス権限が正しいか確認すること。 |
14 |
Bad address |
EFAULT |
アクセスできない領域に書き込みしようとした。書き込みしようとしたディスクが切り離されたおそれがある。 |
系切り替えに伴うディスクの切り替え中の場合は,問題ないので無視すること。誤ってディスクを切り離してしまった場合は,該当するファイルをバックアップから回復する,または初期化してから使用すること。それ以外の場合は,システム管理者に連絡すること。 |
17 |
File exists |
EEXIST |
作成しようとしたファイルはすでに存在する。 |
ファイル名を変更して再度実行する,または既存のファイルが不要であれば,削除してから再度実行すること。 |
22 |
Invalid argument |
EINVAL |
メモリ管理情報の不正を検知した。 |
システム管理者に連絡すること。 |
23 |
File table overflow |
ENFILE |
ファイルのオープン数がシステムの上限を超えた。 |
OSのオペレーティングシステムパラメータ(カーネルパラメータ)の,システムでオープンできるファイル最大数(maxuproc*nofiles*)の指定値を大きくすること。 |
24 |
Too many open files |
EMFILE |
該当するプロセスでオープンしているファイル数が多い。 |
OSのオペレーティングシステムパラメータ(カーネルパラメータ)の,プロセスでオープンできるファイル数の最大nofiles)の値を大きくすること。 |
27 |
File too large |
EFBIG |
ファイルの大きさがシステム制限値を超えた。 |
使用するファイルサイズを見直すこと。 |
28 |
No space left on device |
ENOSPC |
ファイルシステムに十分な空き領域がない。 |
空き領域を確保すること。 |
86 |
File name too long |
ENAMETOOLONG |
ファイルの名前が長過ぎる。 |
ファイルの名前を見直すこと。 |