本文簡要介紹ruby語言中 Open3.popen2
的用法。
用法
popen2(*cmd, &block)
Open3.popen2
與 Open3.popen3
類似,隻是它不為標準錯誤流創建管道。
方塊形式:
Open3.popen2([env,] cmd... [, opts]) {|stdin, stdout, wait_thr| pid = wait_thr.pid # pid of the started process. ... exit_status = wait_thr.value # Process::Status object returned. }
非阻塞形式:
stdin, stdout, wait_thr = Open3.popen2([env,] cmd... [, opts]) ... stdin.close # stdin and stdout should be closed explicitly in this form. stdout.close
有關可選散列參數 env
和 opts
的信息,請參見 Process.spawn
。
例子:
Open3.popen2("wc -c") {|i,o,t|
i.print "answer to life the universe and everything"
i.close
p o.gets #=> "42\n"
}
Open3.popen2("bc -q") {|i,o,t|
i.puts "obase=13"
i.puts "6 * 9"
p o.gets #=> "42\n"
}
Open3.popen2("dc") {|i,o,t|
i.print "42P"
i.close
p o.read #=> "*"
}
相關用法
- Ruby Open3.popen2e用法及代碼示例
- Ruby Open3.popen3用法及代碼示例
- Ruby Open3.pipeline用法及代碼示例
- Ruby Open3.pipeline_rw用法及代碼示例
- Ruby Open3.pipeline_w用法及代碼示例
- Ruby Open3.pipeline_r用法及代碼示例
- Ruby Open3.pipeline_start用法及代碼示例
- Ruby Open3.capture3用法及代碼示例
- Ruby Open3.capture2用法及代碼示例
- Ruby Open3.capture2e用法及代碼示例
- Ruby OpenStruct.ostruct[name] =用法及代碼示例
- Ruby OpenSSL.fips_mode =用法及代碼示例
- Ruby OpenSSL模塊用法及代碼示例
- Ruby OpenRead.open用法及代碼示例
- Ruby OpenSSL.print_mem_leaks用法及代碼示例
- Ruby OpenURI模塊用法及代碼示例
- Ruby OpenStruct類用法及代碼示例
- Ruby OpenSSL.Digest用法及代碼示例
- Ruby OpenStruct.==用法及代碼示例
- Ruby OpenStruct.each_pair用法及代碼示例
- Ruby OpenStruct.delete_field用法及代碼示例
- Ruby OpenStruct.dig用法及代碼示例
- Ruby OpenStruct.new用法及代碼示例
- Ruby OpenStruct.ostruct[name]用法及代碼示例
- Ruby Option.level用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Open3.popen2。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。