16.4 システムコールのエラー情報
バッチジョブ実行システムの環境で発生しやすいシステムコールのエラー情報に対する原因と対策を次の表に示す。表にないエラーについては,使用しているOSのマニュアルを参照すること。
バッチジョブ実行システムの環境で発生しやすいシステムコールのエラー情報の内容だけを記載しているため,詳細についてはメッセージで表示されたエラー番号に該当するニモニックを使用しているOSのerrno定義ファイル(errno.h)で調べること。
さらに,エラーとなったシステムコールについては,OSのマニュアルを参照し,該当するニモニックのエラーが返った原因を特定する。
表16‒9 代表的なシステムコールのエラー情報に対する原因と対策
|
エラー番号
|
エラー詳細
|
ニモニック
|
考えられる主な原因
|
対策
|
|
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
|
ファイルの名前が長過ぎる。
|
ファイルの名前を見直すこと。
|
ページの先頭へ