tail head cat sleep
QR code linking to this page

manページ  — SYSEXITS

名称

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 ファイルは、 BSD 4.3 以降のどこかで登場しました。

作者

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

バグ

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

SYSEXITS (3) March 31, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

To err is human...to really foul up requires the root password.