如何通过Ruby设置命令行值以通过PS查看状态?

时间:2011-09-19 21:52:27

标签: ruby command-line command-line-arguments argv

我想通过命令行为我的pinger程序提供反馈,并使用ps ax查看它。

我找到了SO q。但

....
ARGV[0] = "Hello!" # does nothing

我正在通过ruby ./pinger

启动脚本

1 个答案:

答案 0 :(得分:9)

改为分配给$0。例如,如果我开始irb

$ ps | egrep 'irb|pancakes'
 3119 ttys000    0:01.02 irb 
 3131 ttys001    0:00.00 egrep irb|pancakes

然后在irb

结束
>> $0 = 'pancakes'

然后回到另一个终端:

$ ps | egrep 'irb|pancakes'
 3119 ttys000    0:01.07 pancakes 
 3135 ttys001    0:00.00 egrep irb|pancakes

您也可以查看这个小小的脚本:

#!/usr/bin/env ruby
$0 = 'pancakes'
sleep 10

运行它,跳转到另一个终端,执行ps | grep pancakes,你应该看到一个煎饼过程。