Buenas, tengo que hacer un procedimiento que ejecute un programa
externo,
y lo tengo
así:
c:loquesea> ruby proceso.rb bd.sql
proceso.rb:
ruta = ARGV[0]
archivo = File.open(ruta)
f = IO.popen("mysqldump "+archivo)
puts(“mas cosas”)
entonces, me gustaría saber como hacer para que “mas cosas” salga en
pantalla cuando se termine de ejecutar el proceso y no justo
despuésde que se empiece a ejecutar.
Ah, y también me gustaría saber si es posible sacar en pantalla lo que
hace mysqldump en vez de ejecutarlo en segundo plano
entonces, me gustaría saber como hacer para que “mas cosas” salga en
pantalla cuando se termine de ejecutar el proceso y no justo después
de que se empiece a ejecutar.
Ah, y también me gustaría saber si es posible sacar en pantalla lo que
hace mysqldump en vez de ejecutarlo en segundo plano
Creo que la forma de hacerlo es con `` (son unas comillas raras):
resultado = mysqldump #{archivo}
BTW, recordá que ese File.open está dejando abierto el archivo. Para
leer todo el contenido de una, usá File.read. Si querés trabajar con
el archivo sin preocuparte por cerrarlo, entonces:
File.open(ruta, ‘r’) do |file|
algo = file.read
end
Si el bloque falla, se ocupa de cerrar el archivo por vos.
entonces, me gustaría saber como hacer para que “mas cosas” salga en
pantalla cuando se termine de ejecutar el proceso y no justo después
de que se empiece a ejecutar.
Ah, y también me gustaría saber si es posible sacar en pantalla lo que
hace mysqldump en vez de ejecutarlo en segundo plano