Ruby中的System()命令不等待子进程结束

时间:2015-10-16 15:40:59

标签: ruby subprocess

我正在尝试编写一个Ruby脚本,该脚本会进入目录中的每个子目录,然后执行几个命令。我正在使用System()命令来执行其中的一些。根据文档,我认为System()应该等待子进程结束,然后再继续。但是,它似乎没有这样做。这是我的脚本的简化版本:

Dir.glob("**/") do |subdir|
     Dir.chdir(subdir) do
        system("gunzip *paired.fastq.gz")
     end
end

我希望它在第一个子目录中的一个或所有相应文件上运行gunzip,一旦这些gunzip进程结束,然后转到下一个子目录,依此类推。但是现在,它只是同时为所有子目录中的文件创建gunzip进程。我误解了System()文档吗?我应该使用其他命令吗?

谢谢!!!

0 个答案:

没有答案