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

Lar*_*y K 7 ruby command-line argv command-line-arguments

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

我找到了一个SO q.但

....
ARGV[0] = "Hello!" # does nothing
Run Code Online (Sandbox Code Playgroud)

我正在通过脚本启动脚本 ruby ./pinger

mu *_*ort 9

分配给$0.例如,如果我开始irb

$ ps | egrep 'irb|pancakes'
 3119 ttys000    0:01.02 irb 
 3131 ttys001    0:00.00 egrep irb|pancakes
Run Code Online (Sandbox Code Playgroud)

然后结束irb:

>> $0 = 'pancakes'
Run Code Online (Sandbox Code Playgroud)

并回到另一个终端:

$ ps | egrep 'irb|pancakes'
 3119 ttys000    0:01.07 pancakes 
 3135 ttys001    0:00.00 egrep irb|pancakes
Run Code Online (Sandbox Code Playgroud)

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

#!/usr/bin/env ruby
$0 = 'pancakes'
sleep 10
Run Code Online (Sandbox Code Playgroud)

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