7

I'd like to provide feedback for my pinger program via the command line and view it using ps ax.

I found a SO q. But

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

I'm starting the script via ruby ./pinger

Community
  • 1
  • 1
Larry K
  • 47,808
  • 15
  • 87
  • 140

1 Answers1

9

Assign to $0 instead. For example, if I start irb and

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

and then over in irb:

>> $0 = 'pancakes'

and back to the other terminal:

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

You can check with this tiny script as well:

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

Run that, jump to another terminal, do a ps | grep pancakes, and you should see a pancakes process.

mu is too short
  • 426,620
  • 70
  • 833
  • 800
  • 1
    @rm-rf: I got tired of *foo* so I switched to [*pancakes*](http://www.youtube.com/watch?v=dJUvPZI3Cr4). Besides, I like pancakes :) – mu is too short Sep 20 '11 at 02:29