From: matz@... (Yukihiro Matsumoto) Date: 2003-10-11T00:03:55+09:00 Subject: [ruby-dev:21599] Re: system("exit 0") まつもと ゆきひろです In message "[ruby-dev:21596] system("exit 0")" on 03/10/10, Tanaka Akira writes: |% ruby -ve 'system("exit 0"); p $?' |ruby 1.8.0 (2003-10-10) [i686-linux] |# | |というように、system("exit 0") で exited(127) となるのは意図された挙動 |でしょうか? systemはexitというコマンドを実行しようとして見つからず、コマ ンドの実行に失敗した時の値である127を返してます。ですから、 意図的です。プログラムは私の書いた通りに動いています。 そもそもコマンド実行に失敗した場合と、実行されたコマンドが非 ゼロを返した場合の区別がつかないのは問題と言えば問題です。こ れは気がついていて、たとえばforkする前に実行が成功したかどう かを報告するpipeを用意することで解決できますが、移植性その他 を考えると面倒で現状放置しています。