open4

Ruby open4r multiple systems calls with prompts

I'm trying to write a little lib which generates a keypair using open4, is this the best way of dealing with system calls with multiple prompts? require 'rubygems' require 'open4' Open4::popen4("sh") do |pid, stdin, stdout, stderr| stdin.puts "openssl genrsa -des3 -out tmp_priv.pem 2048" stdin.puts "1234" stdin.puts "1234" std...

Exposing console apps to the web with Ruby

I'm looking to expose an interactive command line program via JSON or another RPC style service using Ruby. I've found a couple tricks to do this, but im missing something when redirecting the output and input. One method at least on linux is to redirect the stdin and stdout to a file then read and write to that file asynchronously wit...

Why can't open4 read from stdout when the program is waiting for stdin?

I am using the open4 gem and having problems reading from the spawned processes stdout. I have a ruby program, test1.rb: print 'hi.' # 3 characters $stdin.read(1) # block And another ruby program in the same directory, test2.rb: require 'open4' pid, stdin, stdout, stderr = Open4.popen4 'ruby test1.rb' p stdout.read(2) # 2 characters...