From: matz / netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-list:6175] rbc.rb (Re: man/date/time)
Date: Mon, 2 Feb 98 16:09:27 +0900

>   if __FILE__ == $0
>     ...
>   end

$0 で思い出しました。$0 に長い文字列をセットしたばあいの挙動がちょっと変
なようです。とは言っても ps での出力が変なだけなので致命的では無いとは思
います。

長いとは言っても、6文字とか 21文字とかそんなもんです。
状況としては以下のような感じです。

%cat zero.rb
#! /usr/local/bin/ruby
$0 = 'long name'
while true
end
% ./zero.rb&
% ps |grep ruby
29465  p1  RN     0:02.06 long name           (ruby)
% fg
^C
% ruby zero.rb&
% ps |grep ruby
29458  p1  RN     0:04.43 long name name (ruby)

ruby に引数として対してスクリプトを与えた場合と、#! を利用して(?)、直接
スクリプトを起動した場合での挙動が違うのもちょっと怪しい気がします。

ちなみに、ruby に引数としてスクリプトを与えた場合には 6文字、直接スクリ
プトを起動した場合には 21文字を越えた場合に ps の出力がおかしくなるよう
です。

OS は FreeBSD 2.2.5-RELEASE, ruby は 1.1b6 です。
--
としちゃん