代码之家  ›  专栏  ›  技术社区  ›  Stephen Bailey

erlang:rpc到在该节点上输出的节点

  •  7
  • Stephen Bailey  · 技术社区  · 15 年前

    有没有一种方法可以对一个节点进行RPC调用,但是在该节点上显示输出,而不仅仅是在调用节点上(事实上,如果调用节点没有显示输出,我不会太麻烦)。

    当我明白我可以使用

    rpc:call( Node, erlang, display, [ someTerm ] ).
    

    这将在节点上显示“someterm”,我真正想得到的是在远程节点终端上显示一个已执行方法的结果,以便给出在节点上运行ls的尝试:

    rpc:call( Node, c, ls, [] ).
    

    它会将结果和文件夹内容实际写入节点的终端。

    我的想法是,我可以从一个节点驱动一个演示,但是让我正在驱动的节点显示它们上的操作历史。

    1 回复  |  直到 15 年前
        1
  •  9
  •   Hynek -Pichi- Vychodil Paulo Suassuna    15 年前

    尝试;-)

    rpc:call( Node, c, ls, [] ).
    

    或者当你想显示它的时候 Node

    spawn(Node, fun()->group_leader(whereis(user),self()), c:ls() end).
    

    或者更有趣的例子,将本地进程的输出重定向到 结点

    group_leader(rpc:call(Node, erlang, whereis, [user]), self()),
    c:ls(),
    group_leader(whereis(user), self()).