私はpingerプログラムのフィードバックをコマンドラインから提供し、ps axを使って表示したいと考えています。PS経由でステータスを見るためにRuby経由でコマンドライン値を設定する方法は?
SO qが見つかりました。しかし
....
ARGV[0] = "Hello!" # does nothing
は、私が代わりに$0
にruby ./pinger
私はpingerプログラムのフィードバックをコマンドラインから提供し、ps axを使って表示したいと考えています。PS経由でステータスを見るためにRuby経由でコマンドライン値を設定する方法は?
SO qが見つかりました。しかし
....
ARGV[0] = "Hello!" # does nothing
は、私が代わりに$0
にruby ./pinger
割り当てを経由してスクリプトを起動しています。私はirb
にかけてirb
と
$ ps | egrep 'irb|pancakes'
3119 ttys000 0:01.02 irb
3131 ttys001 0:00.00 egrep irb|pancakes
を起動して、たとえば、:
>> $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
を実行すると、パンケーキプロセスが表示されます。
優れています。ありがとうございました! –
+1のパンケーキ。 –
@ rm-rf:* foo *に疲れてしまったので、私は[* pancakes *](http://www.youtube.com/watch?v=dJUvPZI3Cr4)に切り替えました。それに、私はパンケーキが好きです:) –
私はあなたがRuby自体を変更することなくそれを行うことができるのではないかと疑います。 –
@Dave:Cの 'argv [0]'のRubyに相当する '$ 0'を代入することができます。Rubyの' ARGV'は引数を保持します。 –
ああ、興味深い。 –