[#47529] ruby1.9.2 にて、 IO#reopen で第2引数を省略したときにモードが引き継がれない — jugyo kohno <kkohno@...>

jugyo と申します

11 messages 2010/10/08
[#47562] Re: ruby1.9.2 にて、 IO#reopen で第2引数を省略したときにモードが引き継がれない — "Y. NOBUOKA" <nobuoka@...> 2010/10/15

信岡です。

[#47537] Excel用のxmlssファイルを作成するライブラリ exlap_c — "YOSHIIZUMI" <t-yoshiizumi@...>

 吉泉といいます。

11 messages 2010/10/10

[ruby-list:47520] ruby.exeとruybw.exeを区別することはできませんか?

From: sin@...
Date: 2010-10-04 00:45:15 UTC
List: ruby-list #47520
こんには
Windowsの環境でスクリプト内から自分自身を実行しているのがruby.exeなのか
rubyw.exeなのかを判定する簡単な方法をご存じの方はいませんでしょうか?
$$などでpidを取得して、win32api経由でプロセスに関する情報(イメージ名)
を取得すれば実行ファイルの名前を知ることはできるのですが、なんだか、大が
かりすぎるような感じがして、何か簡単な方法をご存じの方がいればと質問させ
ていただきました。

GUIを含んだプログラムで、rubyw.exeで実行させることで、コンソールウィンド
ウが開かないようになりますが、エラーやワーニングなどでコンソール出力があ
ると標準出力に出力しようとしてrubyw.exeが落ちてしまいます。それで、仕方
なく -W0オプションを付けて実行していると、こんどは、バージョンが変わった
ときなどの警告などを見落としてしまいます。エラーが出たり、ちゃんと起動し
ないときには、手動でruby.exeで実行すればいいのでしょうが、プログラム自身
にどちっかを区別して、rubyw.exeのときには、ファイルにメッセージを出力
し、ruby.exeのときにはコンソールに出力するといった切り替え機能を入れたい
と思っています。

ruby.exeとrubyw.exeの区別ではなく、STDOUTなどが無効かどうかを判定する方
法でもいいんですが……。

--
福田紳一

In This Thread

Prev Next