0
我簡單的測試程序:如何從Ruby中的分叉/衍生進程獲取返回值?
pid = Process.spawn("sleep 10;date")
我如何可以將輸出(例如標準輸出)的「日期」命令的變量時可用嗎?我不想使用文件進行數據交換。
我簡單的測試程序:如何從Ruby中的分叉/衍生進程獲取返回值?
pid = Process.spawn("sleep 10;date")
我如何可以將輸出(例如標準輸出)的「日期」命令的變量時可用嗎?我不想使用文件進行數據交換。
有一個whole bunch of ways從Ruby運行命令。對於你的情況,最簡單的方法是使用backticks,它捕獲輸出:
`sleep 10; date`
# "Tue Jun 23 10:15:39 EDT 2015\n"
如果您想了解更多類似Process.spawn
的東西,用open3 STDLIB:
require 'open3'
stdin, stdout, wait_thr = Open3.popen2("sleep 10; date")
stdin.close
Process.wait(wait_thr.pid)
stdout.read
# "Tue Jun 23 10:15:39 EDT 2015\n"
stdout.close