rpc:call/5
在一个节点上调用执行一个函数
用法:
call(Node, Module, Function, Args, Timeout) -> Res | {badrpc, Reason}
跟 rpc:call/4 一样,都是在节点 Node 上执行 apply(Module, Function, Args),并返回响应值 Res。如果调用失败,则返回 {badrpc, Reason}。Timeout 是以毫秒为单位的一个超时值。如果调用超时,则返回的调用失败原因 Reason 是 timeout。
Pid = self(), Node = node(Pid), rpc:call(Node, erlang, is_process_alive, [Pid], 5000).
如果在调用超时后收到回复信息,那么这条回复信息是不会被方便消息队列里,因为这个函数开启的接收信息的进程来停止接收这条信息。同理,rpc:call/4 也是有这特性。