From: El Gato Date: 2006-11-23T13:20:48+09:00 Subject: Re: invoke system command from within a method Moritz Reiter wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi all, > > I am new to Ruby and want to make a Ruby script for the network > configuration of my notebook as an exercise. Now I encountered a problem > which is pretty strange to me: > > I want to invoke '/etc/init.d/networking restart' from within my Ruby > program. If I create a file with the line > > %x{ /etc/init.d/networking restart } > > it works like I would expect. The networking init script gets invoked > and correctly processed. > > But if I do something like this: > > - -->8-- > class Netconf > def restart > puts %x{ /etc/init.d/networking restart } > end > end > > netconf = Netconf.new > netconf.restart > - --8<-- > > I get some output from the init script but it doesn't seem to actually > do anything. It does not reconfigure my eth's in oppostion to the > behaviour described above if don't make the system call from within a > method. > > I would be very glad if anyone could give me a hint or point me to some > documentation to enlighten me. > Well, 2 things that I'd try, though I have no idea if either will actually help. 1) $stdout.sync = true 2) %x{/etc/init.d/networking restart