※情報が古くなっていたので,少し修正しました plugin/exec.rbとして,次のようなファイルを作る def exec(config, data) IO.popen(config["command"], "r+") {|io| ret = nil t1 = Thread.start(data){|data| io.write(data) io.close_write } t2 = Thread.start{ ret = [io.read()] } t1.join t2.join ret } end こんな感じで。使い方は, - module: exec config: command: cat とかする。この例では,catを呼び出して,標準入力にdataを渡し,catの出力をそのままdataに入れてます.dataをto_sで変換した結果がcatに渡されて,catの結果を含む文字列一つ