2009-05-16 19 views
6

Có cách nào để thực hiện cuộc gọi rpc tới một nút hay không, nhưng có đầu ra được hiển thị trên nút đó, không chỉ trên nút gọi (thực tế tôi cũng sẽ không làm phiền nếu nút gọi không hiển thị đầu ra).Erlang: RPC đến một nút có đầu ra trên nút đó

Trong khi tôi hiểu rằng tôi có thể sử dụng

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

và điều đó sẽ hiển thị "someTerm" trên Node, những gì tôi thực sự muốn là để có được kết quả của một phương pháp thực hiện hiển thị trên thiết bị đầu cuối nút từ xa, do đó với nỗ lực chạy ls trên Nút:

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

nó sẽ thực sự ghi kết quả nội dung thư mục vào đầu cuối của Nút.

Ý tưởng là tôi có thể thúc đẩy bản trình bày từ một nút duy nhất, nhưng có các nút mà tôi đang lái hiển thị lịch sử các tác vụ trên chúng.

+0

rpc: cuộc gọi (Nút, c, ls, []) hiển thị kết quả trên nút() nhưng không hiển thị trên Nút . Bạn có muốn xem kết quả trên Node không? Câu cuối cùng của bạn nói nó. –

Trả lời

9

Hãy thử ;-)

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

hoặc khi bạn muốn hiển thị nó trên Node

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

hoặc nhiều hơn nữa hài hước ví dụ mà chuyển hướng đầu ra của quá trình địa phương khác thiết bị đầu cuối của Node

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

xin lỗi .. Tôi đã bày tỏ rằng rất kém - tôi đã tái diễn tả –

+0

Tôi đã thêm ví dụ về cách chuyển hướng đầu ra đến một nút khác. –

Các vấn đề liên quan