Subprocess on Windows


#1

Whenever my Windows rubyw script launches a subprocess, a command window
pops up and immediately disappears. How can I keep this from happening?

Details:

I keep a daily log of what I do at work. At the command line, I type
“log” to edit the current day’s log file. A Ruby script generates an
appropriate name for the file automatically, then launches vim.

Now I’m trying to use the Windows GUI, and I want to have an icon I can
click to launch gvim. Here’s the code:

log.rbw

Launch gvim on today’s logfile, e.g. on

C:\Logs\2006\2006.01\2006.01.26.txt

logfile = Time.now.strftime(‘C:\Logs%Y%Y.%m%Y.%m.%d.txt’)
system(“gvim”, logfile)

When I click the icon, I get the expected behavior, except that a
Windows cmd.exe window flashes on the screen first. :frowning:


#2

Jeffrey S. wrote:

Now I’m trying to use the Windows GUI, and I want to have an icon I
Windows cmd.exe window flashes on the screen first. :frowning:
One thing is you can change the linke to open the window minimized. And
I
think I remember seeing a rubyw or such in the windows distribution that
does not open a cmd shell. HTH

robert

#3

Jeffrey S. wrote:

Now I’m trying to use the Windows GUI, and I want to have an icon I
Windows cmd.exe window flashes on the screen first. :frowning:

You may want Kernel.exec instead of Kernel.system. See ri Kernel.exec
and ri Kernel.system for more info.


#4

On 1/26/06, Jeffrey S. removed_email_address@domain.invalid wrote:

click to launch gvim. Here’s the code:

log.rbw

Launch gvim on today’s logfile, e.g. on

C:\Logs\2006\2006.01\2006.01.26.txt

logfile = Time.now.strftime(‘C:\Logs%Y%Y.%m%Y.%m.%d.txt’)
system(“gvim”, logfile)

When I click the icon, I get the expected behavior, except that a
Windows cmd.exe window flashes on the screen first. :frowning:

Try:
start /B gvim #{logfile}