From: sakazuki Date: 2003-03-18T06:54:53+09:00 Subject: [ruby-list:37342] 起動時コマンドの再現 こんにちは。sakazukiです。 起動時のコマンドを忠実に再現する方法はありませんでしょうか? 自分自身の起動コマンドを別プロセスに登録してやり、その別プロセスから自分自身 をsystemを使って再起動させたいのです。 以下のようなスクリプトを試すと二回目以降引数が変化してしまいます。起動コマン ドにはいろいろなケースがありえますが、汎用的に対応できるいい方法はありません でしょうか? (argv.rb 実行オプションをつけておく) #!/usr/local/bin/ruby p ARGV lockfile = $0 + '_l' if (!FileTest.exist?(lockfile) && File.symlink($0, lockfile)) cmd = ARGV.unshift($0).collect{|v| '"' + v + '"'}.join(" ") puts ">>>" + cmd system(cmd) else File.unlink(lockfile) end > ruby ./argv.rb -x "\[error\]" '\[error\]' 'ho\"ge' 'ho"ge' .* ["-x", "\\[error\\]", "\\[error\\]", "ho\\\"ge", "ho\"ge", ".", ".."] >>>"./argv.rb" "-x" "\[error\]" "\[error\]" "ho\"ge" "ho"ge" "." ".." ["-x", "\\[error\\]", "\\[error\\]", "ho\"ge", "hoge . .."] > ruby ./argv.rb -x "\[error\]" '\[error\]' 'ho\"ge' 'ho"ge' ".*" ["-x", "\\[error\\]", "\\[error\\]", "ho\\\"ge", "ho\"ge", ".*"] >>>"./argv.rb" "-x" "\[error\]" "\[error\]" "ho\"ge" "ho"ge" ".*" ["-x", "\\[error\\]", "\\[error\\]", "ho\"ge", "hoge .*"] ---- sakazuki(QZS01353@nifty.ne.jp) hp: http://homepage2.nifty.com/sakazuki/