Как установить значение командной строки через Ruby, чтобы увидеть статус через PS? - PullRequest
7 голосов
/ 20 сентября 2011

Я бы хотел отправить отзыв о моей программе pinger через командную строку и просмотреть ее с помощью ps ax.

Я нашел SO q . Но

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

Я запускаю скрипт через ruby ./pinger

1 Ответ

9 голосов
/ 20 сентября 2011

Назначьте вместо $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, и вы должны увидеть процесс блинов.

...