From: KOSAKI Motohiro Date: 2013-08-04T10:01:31+09:00 Subject: [ruby-dev:47577] Re: [ruby-trunk - Feature #8696] Process.setproctitle 2013/7/30 knu (Akinori MUSHA) : > > Issue #8696 has been updated by knu (Akinori MUSHA). > > > getproctitle() というAPIはないので、 Process.setproctitle() でいいんじゃないかと思います。 > $0はベタに Process.argv0 でどうでしょう。argv0という名前はTclに先例があります。 現在すでに $PROGRAM_NAME があるわけですが、argv0はそれより分かりやすさが一段落ちる感じ。 C言語は当然知ってるよねという前提はいいのかなあ getproctitle()というAPIはないというご指摘ですが、Rubyで最後に設定した文字列を覚えておくだけなので あまり障害になるとは考えていません。 すごい長い文字列を与えた時にsetproctitle()側で勝手に切り詰める仕様があったりすると不一致になりますが 実用上は問題にならないでしょう。それともFreeBSDのような頭にprefix勝手につけるようなsetproctitle()実装を 心配している? > $0=でsetproctitle()が呼ばれるのはPerlから引き継いだ仕様だと思いますが、argv[0]を初期値とする$0のsetterがsetproctitle()であるというのは実は対称性がありません。(setproctitle()で設定される文字列の初期値はコマンドライン全体なので) これはargv0がよろしくないという理由の1つになっていると思います。 なかださんの指摘しているClass.nameとの衝突は説得力があったので、Process.title か Process.program_name のどちらかがいいのではないでしょうか。