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) 入力ファイル (システムファイルではなく) が 存在しないか、または読み取り可能ではありません。これには、メーラに 対する "amp;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&#246;rg Wunsch によって書かれました。

バグ

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

SYSEXITS (3) March 31, 1996

tail head cat sleep
QR code linking to this page


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

Never write it in C if you can do it in `awk';
Never do it in `awk' if `sed' can handle it;
Never use `sed' when `tr' can do the job;
Never invoke `tr' when `cat' is sufficient;
Avoid using `cat' whenever possible.
— Taylor's Laws of Programming