En realidad, lo que estoy buscando es poder relanzar
un script de ruby (haciendo "exec") exactamente de la
misma manera que fue lanzado originalmente. Mi idea es
tener uno o varios scripts como SCGIs y hacer que se
reinicien solos cuando escriba ":w" en el vi. La parte
de hacer que chequeen, tengo un prototipo, pero la
parte que hacen exec me encontré que no sé como hacer
para saber exactamente que intérprete usaron (ruby o
rubyw en windows) ni que parámetros le pasaron al
intérprete. La idea es que pueda invocar al mismo
script de varias maneras distintas y que cuando haga
"exec" para cargarlo lo se invoque de la misma manera
que cuando se cargó originalmente. Y quiero poder
hacer esto tanto en Windows como Linux (por eso no me
sirvió usar ENV("_") ).Muchas gracias por ponerle onda y buscar en alternativas nuevas. Aureliano. > Windows no esta soportado en mi implementación .... > :D > > Si ruby lo tenés instalado en windows con One-Click > Installer [1], mirá > con el regedit la definición de los tipos rbFile [1] > y rbwFile [2] que > te hace ejecutable los archivos con esa extensión > por defecto, por lo > tanto no requerirías en primera instancia conocer > donde esta el > ejecutable de Ruby, con solo ejecutar 'rutina.rb' > desde DOS o doble > click con el explorer sale andando. > También tenés una variable de ambiente, al menos en > XP, que se llama > PATHEXT que tiene las extensiones que se consideran > ejecutables y en que > orden se busca para ejecutar. > > > [1] http://rubyforge.org/projects/rubyinstaller/ > [2] HKEY_CLASSES_ROOT\rbFile\Shell\open\command > [3] HKEY_CLASSES_ROOT\rbwFile\Shell\open\command > > > > > On Mon, Jun 12, 2006 at 11:07:17AM -0300, Aureliano > Calvo wrote: > > ?Y en Windows? > > Por lo que me fij? en ENV no est? el ?ltimo > comando > > ejecutado :(. En particular ENV['_'] == nil. > > > > > Si lo que quer?s es saber como se ejecut? el > script > > > ... por tu ejemplo > > > necesitas saber > > > tambi?n "c:\ruby\bin\rubyw", en linux deber?as > > > agregar ENV['_'] (es la > > > variable del ?ltimo comando ejecutado) > > > al ejemplo de Nelson, porque el dato de la l?nea > de > > > comando completa no > > > la tiene > > > el script sino en el shell linux o procesador de > > > comandos. > > > Vos est?s ejecutando c:\ruby\bin\rubyw, > pas?ndole > > > como par?metros > > > "scriptname param1 param2" > > > y a su ves, cuando se arma el ambiente y se > ejecuta > > > scriptname toma como > > > par?metros param1 param2, > > > vos est?s "parado" en el ambiente creado por > rubyw, > > > no en el creado por > > > el procesador de comandos > > > ... es tarde, pero me parece que tiene sentido > ... > > > > > > Saludos > > > > > > > > > Nelson Fernandez wrote: > > > > algo asi podr?a servir ? > > > > > > > > puts (__FILE__ + ' ' + ARGV.join(' ')).strip > > > > > > > > > > > > > > > > > > > > Aureliano Calvo wrote: > > > > > > > >> Hola a todos, > > > >> saben como hacer para obtener la l?nea de > comando > > > >> completa que se us? para invocar el > int?rprete de > > > >> ruby? > > > >> > > > >> Hasta ahora lo que encontr? (y que aparte ya > > > sab?a :( > > > >> ) es que $0 es el nombre del script invocado > y > > > ARGV (o > > > >> "$*") son los par?metros pasados al script. Y > una > > > cosa > > > >> nueva (pero que no tiene mucho que ver) es > que $< > > > (o > > > >> ARGF) es un archivo que tiene el texto de > todos > > > los > > > >> archivos pasados por l?nea de comando (?esto > > > viene de > > > >> Perl?). > > > >> > > > >> Volviendo al tema original, estoy buscando > alguna > > > >> forma de armar el comando original. Por > ejemplo > > > si > > > >> invoqu? el script como "c:\ruby\bin\rubyw > > > myscript.rb > > > >> param1 param2" me interesa alguna forma de > > > recuperar > > > >> la l?nea completa. Estoy buscando esto para > hacer > > > un > > > >> script SCGI que se autocargue de nuevo a s? > mismo > > > >> cuando se modifica (haciendo exec) y que el > mismo > > > sea > > > >> multiplataforma. > > > >> > > > >> Muchas gracias, > > > >> Aureliano. > > > >> > > > >> estuve googleando y no encuentro la respuesta > a > > _______________________________________________ > ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > ___________________________________________________________ 1GB gratis, Antivirus y Antispam Correo Yahoo!, el mejor correo web del mundo http://correo.yahoo.com.ar _______________________________________________ ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
