如何使用Java将IRB发送到后台?

时间:2012-07-31 16:41:30

标签: java ruby jruby

我有一个IRB,我想将它发送到后台并使用Java评估IRB的命令。 我试过这样的东西[1],但它不识别任何命令。

[1]

String response = "";
ProcessBuilder pb = new ProcessBuilder(myIrb); //myIrb is a unix script which starts the IRB

try {
  pb.command(myCommand);
  Process proc = pb.start();
  InputStream input = proc.getInputStream();
  int i;
  while((i = input.read()) != -1) {
    char c = (char)i;
    response += c;
  } catch (IOException e) {
    response = e.toString();
  }

System.out.println(response);

2 个答案:

答案 0 :(得分:0)

如果你想让事情在后台执行,那么你不想直接执行 Ruby 脚本,你想调用 shell 来执行Ruby脚本。

对于Windows,请使用“开始”。对于Linux,请使用“&”。

答案 1 :(得分:0)

您是否有任何特殊原因需要在单独的IRB流程中评估ruby,而不是直接从java进行评估?

http://kenai.com/projects/jruby/pages/RedBridge

这会更简单。