終了コードとは、そもそもプログラム毎に異なります。
C言語のコードで言えば・・・
int main(){
return 0;
}
と言う感じで、このreturn値が終了コードです。
慣例的に0は正常終了ですが、それ以外は何らかの意味がありますが、それはプログラム毎に異なります。
従って、そのコマンドのドキュメントに記載がなければ、ソースコードを追うしかありません。
一応 exec の返り値はシステムによって違うのでOSを明記しないと正確な回答は出来ない。
とはいえある程度は POSIX で標準化されているのだが、手元の Linux 2.4.x や FreeBSD で試す限り、unknown error と出る。
つまり、これらのOSでは 233 というエラーは定義されていない。
シェルが加工した返り値ではないでしょうか。
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html#lbAL
ENOBUFSの可能性が高い。
コメント(0件)