2008-10-17 6 views
8

Quiero escribir un guión, a envasar en una joya, que modificará sus parámetros y luego exec un nuevo proceso de rubí con los parametros modificados. En otras palabras, algo similar a un script de shell que modifica sus parametros y luego hace una exec $SHELL $*. Con el fin de hacer esto, necesito una manera robusta de descubrir la ruta del ejecutable rubí que está ejecutando el script actual. También necesito obtener los parámetros completos pasados ​​al proceso actual, tanto los parámetros de Ruby como los argumentos del script.Como puedo fiable descubrir la ruta completa del ejecutable de Ruby?

+0

no actualiza su pregunta con una respuesta en línea, basta con añadir una respuesta a su propia pregunta. De esa forma, la gente puede respaldar tu respuesta. –

+1

en cuenta que también puede necesitar 'requieren 'rbconfig'' –

Respuesta

6

El rastrillo hace como este:

RUBY = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']). 
    sub(/.*\s.*/m, '"\&"') 
+1

Config está en desuso. usa RbConfig. –

4

Si desea comprobar en Linux: leer archivos:

  • /proc/PID/exe
  • /proc/PID/cmdline

otra información útil se puede encontrar en/proc/PID dir

0

Para los parámetros de script, por supuesto, utilizar ARGV.

código fuente
Cuestiones relacionadas