2011-09-19 27 views
7

Vorrei fornire un feedback per il mio programma di suoneria tramite la riga di comando e visualizzarlo usando ps ax.Come impostare il valore della riga di comando tramite Ruby per vedere lo stato tramite PS?

Ho trovato un SO q. Ma

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

sto iniziando lo script tramite ruby ./pinger

+0

Dubito che potresti farlo senza modificare Ruby. –

+0

@Dave: È possibile assegnare a '$ 0', che è l'equivalente Ruby di C 'argv [0]',' ARGV 'di Ruby contiene solo gli argomenti. –

+0

Ah, interessante. –

risposta

9

Assegna a $0 invece. Ad esempio, se mi metto irb e

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

e poi oltre a irb:

>> $0 = 'pancakes' 

e ritorno all'altro terminale:

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

È possibile controllare con questo piccolo script come bene:

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

Esegui, passa a un altro terminale, fai un ps | grep pancakes e dovresti vedere un processo di pancake.

+0

Eccellente. Grazie! –

+2

+1 per i pancake. –

+1

@ rm-rf: Mi sono stancato di * foo *, quindi sono passato a [* pancakes *] (http://www.youtube.com/watch?v=dJUvPZI3Cr4). Inoltre, mi piacciono i pancakes :) –

Problemi correlati