From: Wim Vander Schelden Date: 2006-12-24T22:20:20+09:00 Subject: Re: "su user -c 'command'" from within ruby Moritz Reiter wrote: > Hi, > > I want to invoke a shell command from within ruby but as another user in > a Linux environment. I start the ruby script itself as root and in the > script I do something like this: > > %x{su some_user -c "some_command"} > > some_more_ruby_stuff > > The problem is: 'some_command' gets successfully executed, but the ruby > script seems to never return to normal operation. 'some_more_ruby_stuff' > gets never executed. > > Could anyone tell me why this happens and maybe what I could do about it? > > Regards, > Moritz > > > It works just fine here. I tried running this: puts %x{su wvdschel -c "whoami"} puts "test" which worked just fine: root@wvdschel-laptop:~# ruby test wvdschel test Are you sure your command returns? Maybe it blocks until the process ends? Is there any information you could give on the command you are trying to execute? Wim -- Wim Vander Schelden Bachelor Computer Science, University Ghent http://nanoblog.ath.cx My weblog, powered by Ruby and BSD licensed.