是否可以从erlang节点启动外部二进制应用程序?

时间:2012-08-17 15:53:32

标签: c erlang

我想从erlang节点启动一些程序,将一些数据传输到其标准输入并在完成后读取stdout。有可能吗?

是的我现在关于C节点,但我不想重写我的二进制应用程序。

1 个答案:

答案 0 :(得分:2)

我使用open_port:

run (Cmd, Params, State, Stage, PrevStage) ->
  Shell = Cmd ++ " " ++ binary_to_list (Params) ++ " 1>/dev/null 2>/dev/null",
  io:format ("try to run: ~p~n", [Shell]),
  Port = open_port ({spawn, Shell}, [exit_status]),