当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Open3.popen2e用法及代码示例


本文简要介绍ruby语言中 Open3.popen2e 的用法。

用法

popen2e(*cmd, &block)

Open3.popen2e Open3.popen3 相似,只是它合并了标准输出流和标准错误流。

方块形式:

Open3.popen2e([env,] cmd... [, opts]) {|stdin, stdout_and_stderr, wait_thr|
  pid = wait_thr.pid # pid of the started process.
  ...
  exit_status = wait_thr.value # Process::Status object returned.
}

非阻塞形式:

stdin, stdout_and_stderr, wait_thr = Open3.popen2e([env,] cmd... [, opts])
...
stdin.close  # stdin and stdout_and_stderr should be closed explicitly in this form.
stdout_and_stderr.close

有关可选散列参数 envopts 的信息,请参见 Process.spawn

例子:

# check gcc warnings
source = "foo.c"
Open3.popen2e("gcc", "-Wall", source) {|i,oe,t|
  oe.each {|line|
    if /warning/ =~ line
      ...
    end
  }
}

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Open3.popen2e。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。