使用ruby生成子进程

时间:2015-02-16 05:46:29

标签: ruby

对红宝石来说是新手。 我有一个终端命令来执行一些进程并将结果输出为xml文件。(它通过终端正常工作)

cmd = '"C:\Program Files\shark\hark"  -f "ains 02:04" -eT xml > test12.xml'

我需要使用ruby代码执行此命令。

但是当我尝试使用ruby代码时,它会输出xml文件,其内容将为零。如果我使用CTRL + C退出终端,我将获取xml文件中的完整数据

为了退出子进程,我试图杀死进程并从任务列表中杀死ruby.exe。但是在xml文件中没有任何好处。内容仍为零

def execute 
   cmd = '"C:\Program Files\shark\hark"  -f "ains 02:04" -eT xml > test12.xml'
  @pid = Process.spawn(cmd)
  sleep(100)
  exec( 'Taskkill /F /IM ruby.exe' )
end
execute

我的代码有什么不对。

1 个答案:

答案 0 :(得分:0)

我认为Process.wait不支持流重定向。换句话说,|>>><不起作用。