PHPの関数で、exec ( string $command [, array &$output [, int &$return_var]] )というのがあります。ある処理を行うと$return_var のところに 233 という値が帰ってきます。何かのエラーなんだと思いますが、どういうエラーなのかが分かりません。unixコマンドの終了ステータスの値が返ってくると書いてあるページがあったので、その値なのだと予想できるのですが、この値が何を意味しているかわかるかたいらっしゃいますでしょうか・・

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2007/07/02 20:15:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:studioes No.1

回答回数523ベストアンサー獲得回数61

ポイント35pt

 終了コードとは、そもそもプログラム毎に異なります。

 C言語のコードで言えば・・・

int main(){

return 0;

}

と言う感じで、このreturn値が終了コードです。

 慣例的に0は正常終了ですが、それ以外は何らかの意味がありますが、それはプログラム毎に異なります。

 従って、そのコマンドのドキュメントに記載がなければ、ソースコードを追うしかありません。

http://ylb.jp/2006b/proc/commandline/

id:b-wind No.2

回答回数3344ベストアンサー獲得回数440

ポイント35pt

Manpage of ERRNO

一応 exec の返り値はシステムによって違うのでOSを明記しないと正確な回答は出来ない。

とはいえある程度は POSIX で標準化されているのだが、手元の Linux 2.4.x や FreeBSD で試す限り、unknown error と出る。


つまり、これらのOSでは 233 というエラーは定義されていない。

id:samejima No.3

回答回数92ベストアンサー獲得回数8

ポイント10pt

シェルが加工した返り値ではないでしょうか。
http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html#lbAL

\small 233=128+N

\small N=105

ENOBUFSの可能性が高い。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません