出于安全考虑,我想在解析它们之后删除命令行参数:
login.rb --user me --password wombats
我已经尝试过ARGV.clear和$ *。清除
对ARGV或$ *的更改都反映在ps
中答案 0 :(得分:2)
您可以通过更改ps(1)
变量来更改Ruby进程的名称(如$PROGRAM_NAME
所示)。这是一个故意循环的示例程序,例如:
#!/usr/bin/env ruby
puts $PROGRAM_NAME
$PROGRAM_NAME = "a ruby process"
loop { }
当它像这样运行时:
$ ./loop.rb password
./loop.rb
它在ps
中显示了“红宝石过程”:
$ ps aux | grep ruby
stuart 85292 98.9 0.1 2439468 4340 s004 R+ 8:43PM 0:02.96 a ruby process
stuart 85341 0.0 0.0 2432768 600 s011 S+ 8:43PM 0:00.00 grep --color ruby
因此,您可以使用$PROGRAM_NAME
变量通过ps
准确更改流程的显示方式。