スポンサーリンク

SYSEXITS(3) FreeBSD ライブラリ関数マニュアル SYSEXITS(3)

名称

sysexits − プログラムの望ましい終了コード

書式

#include <sysexits.h>

解説

style(9) によれば、プログラムを終了するときに失敗の状態を示すために任意の 値を使って exit(3) を呼び出すのは、よいやり方ではありません。代りに、 sysexits からの事前に定義された終了コードを使うべきであり、そうすればプロ セスの呼び出し者はソースコードを調べなくても失敗クラスをおおよそ推定する ことができます。

無事に終了したことは、常にステータス 0 または EX_OK によって示されます。 任意のプログラムが常に返す可能性のあるその他の終了ステータスと衝突する可 能性を減らすために、エラー番号は EX__BASE から始まります。コードの意味 は、おおよそ次に示す通りです:

       EX_USAGE (64)

コマンドが不正に使用されました。例えば、引数の数の 誤り、誤ったフラグ、パラメータの誤った構文など。

EX_DATAERR (65)
入力データがどこかで不正です。これは、ユーザデータ のみに使用する必要があり、システムファイルには使用 すべきではありません。

EX_NOINPUT (66)
入力ファイル (システムファイルではなく) が存在しな いか、または読み取り可能ではありません。これには、 メーラに対する ‘‘No message’’ のようなエラーも含ま れます (このようなエラーまで捕えようとする場合)。

EX_NOUSER (67)
ユーザが指定したものは存在しません。これは、メール アドレスやリモートログインに使用することができま す。

EX_NOHOST (68)
ホストが指定したものは存在しません。これは、メール アドレスやネットワークリクエストに使用することがで きます。

EX_UNAVAILABLE (69)
そのサービスは利用できません。これは、サポートプロ グラムやファイルが存在しない場合に起きます。これ は、何かやりたいことができないで、その理由が分から ないときのキャッチコールメッセージとして使うことも できます。

EX_SOFTWARE (70)
内部ソフトウェアエラーが検出されました。これは、で きるだけオペレーティングシステム関連ではないエラー に限る必要があります。

EX_OSERR (71)
オペレーティングシステムエラーが検出されました。こ れは、 ‘‘分岐できない、’’ ‘‘パイプを作成できない’’ などのようなエラーに使うよう意図されています。これ には、 passwd ファイルに存在しないユーザに対して getuid を返すようなものも含まれます。

EX_OSFILE (72)
システムファイルのどれか (例えば、 /etc/passwd/var/run/utmp など) が存在しないか、開けないか、ま たは何らかのエラー (例えば、構文エラー) がありま す。

EX_CANTCREAT (73)
(ユーザ指定の) 出力ファイルが作成できません。

EX_IOERR (74)
いずれかのファイルに対して I/O 操作中にエラーが起き ました。

EX_TEMPFAIL (75)
一時的な失敗で、本当のエラーではないことを示しま す。 sendmail では、これはメーラが (例えば) 接続を 確立できず、リクエストは後で再試行する必要があるこ とを意味します。

EX_PROTOCOL (76)
リモートシステムがプロトコル交換の間に「可能でな い」何かを返しました。

EX_NOPERM (77)
その操作を実行するために十分な許可を持っていませ ん。これは、ファイルシステムの問題のためではなく、 より高いレベルの許可のために意図されています。ファ イルシステムに対しては、 EX_NOINPUT または EX_CANTCREAT を使用すべきです。

EX_CONFIG (78)
何かがコンフィギュレーションされていない、またはコ ンフィギュレーションが間違っている状態にあります。

シンボリックな表現のエラーに対応する数値が、参照を容易にするために括弧内 に示してあります。

関連項目

exit(3), style(9)

歴史

sysexits ファイルは、 4.3BSD 以降のどこかで登場しました。

作者

このマニュアルページは、 <sysexits.h> の中のコメント以後に Jörg Wunsch に よって書かれました。

バグ

適切な終了値の選択が、しばしばあいまいになります。

FreeBSD 10.0 March 31, 1996 FreeBSD 10.0

スポンサーリンク