2015-11-23 61 views
1

子過程比方說,我有一個過程,從一個Ruby腳本開始,像這樣:發送消息到使用Ruby

pid = spawn('./my_awesome_process') 
Process.detach(pid) 

這個過程偵聽標準輸入。 我現在想讀的命令行輸入,並將其發送到過程,像這樣:

puts "Please enter input" 
input = gets 

我怎麼然後輸入轉發到我的過程嗎?

+0

是子進程也Ruby或其他什麼東西? – mwp

+0

這是一個bash腳本 –

+0

你可以看看會話寶石:https://github.com/ahoward/session – mwp

回答

2

您可以使用IO.popen,它將子進程的stdinstdout附加到IO對象。

IO.popen('rev', 'r+') do |io| 
    io.puts "I'm looking at the man in the mirror" 
    io.close_write 
    puts io.gets 
end 
rorrim eht ni nam eht ta gnikool m'I