如何在ruby中获取完整的命令行?

Sam*_*ron 10 ruby

如何在ruby中获得完整的命令行?

$ rails c
> $0 
=> "script/rails"
> ARGV
[]
> `ps -eo "%p|$|%a" | grep '^\\s*#{Process.pid}'`.strip.split("|$|")[1]
=> "/home/sam/.rvm/rubies/ruby-1.9.3-p194-perf/bin/ruby script/rails console"
Run Code Online (Sandbox Code Playgroud)

有什么比忍者ps更清洁我可以做到得到相同的结果?

为了澄清,如果有混淆,我想要完全相同的输出:

`ps -eo "%p|$|%a" | grep '^\\s*#{Process.pid}'`.strip.split("|$|")[1]
Run Code Online (Sandbox Code Playgroud)

ARGV回归空白.
$ 0缺少完整路径.

the*_*Man 6

我用的是:

#!/usr/bin/env ruby

puts "Process ID: #{ $$ }"
puts `ps axw`.split("\n").select{ |ps| ps[ /\A#{ $$ }/ ] }
Run Code Online (Sandbox Code Playgroud)

在脚本内运行输出:

18222 s000  S+     0:00.25 /Users/foo/.rbenv/versions/1.9.3-p385/bin/ruby /Users/foo/.rbenv/versions/1.9.3-p385/bin/rdebug /Users/foo/Desktop/test.rb