pipeline_w(*cmds, &block)
Class Public methods
::pipeline_w starts a list of commands as a pipeline with a pipe which connects stdin of the first command.
1 2 3 4 5 6 7 | Open3.pipeline_w(cmd1, cmd2, ... [, opts]) {|first_stdin, wait_threads| ... } first_stdin, wait_threads = Open3.pipeline_w(cmd1, cmd2, ... [, opts]) ... first_stdin.close |
Each cmd is a string or an array. If it is an array, the elements are passed to Process.spawn.
1 2 3 4 5 6 7 | cmd: commandline command line string which is passed to a shell [env, commandline, opts] command line string which is passed to a shell [env, cmdname, arg1, ..., opts] command name and one or more arguments (no shell) [env, [cmdname, argv0], arg1, ..., opts] command name and arguments including argv[ 0 ] (no shell) Note that env and opts are optional, as Process.spawn. |
Example:
1 2 3 | Open3.pipeline_w( "bzip2 -c" , :out => "/tmp/hello.bz2" ) {|i, ts| i.puts "hello" } |
Please login to continue.