From: Yukihiro Matsumoto Date: 2007-07-13T17:24:20+09:00 Subject: [ruby-dev:31207] Re: $&;[] dumps core まつもと ゆきひろです In message "Re: [ruby-dev:31117] Re: $&;[] dumps core" on Tue, 3 Jul 2007 14:29:33 +0900, Tanaka Akira writes: |つまり、 |* 子プロセスだけが生き残って、端末を取り合うとかのことを避ける |* vi の ! みたいなものでユーザが実行した時には ^C は子プロセスだけが死ぬべき |という理由があるようです。 そうだったのか。 |あるいは、C や Perl のように例外がない世界から Ruby のように |例外がある世界に移った時点で、API を変えるべきなのではないか、 |ということも考えられます。 確かに。 |子プロセスだけが生き残るのはたしかにあまりよろしくないように |思いますが、vi の ! みたいなのは system の用法としてあまり多 |いとは思えないので気にしないことにして、子プロセス実行中に |SIGINT がきたら、子プロセスが死んだ後に Interrupt 例外が発生 |するとかはどうでしょうか。 | |でも、C の system を使って実装するのは無理かな... Rubyでは(ほとんどのプラットフォームで)Cのsystemは使ってない んで、実装は可能な気がします。この辺はあんまり得意でないんで どなたかが名乗りを上げてくださるとうれしいんですが。