如何让erlang获得节点名称的pid?

时间:2016-04-25 14:46:08

标签: erlang pid

我有一个节点: app01 @ mdiaz 我需要知道pid(类似< 2908.77.0>

1 个答案:

答案 0 :(得分:7)

Erlang节点没有一个pid:每个节点上都运行着许多进程,因此您需要指定所需的进程。

如果您想知道在节点<style name="MyCustomToolBarTheme" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="android:textColorSecondary">@android:color/white</item> </style> <style name="CustomPopup" parent="ThemeOverlay.AppCompat.Light"> <item name="android:textColorSecondary">@android:color/white</item> </style> 上使用名称foo注册的进程的pid,您可以对erlang:whereis/1进行RPC调用:

bar@localhost

虽然您可能不需要:如果要将消息发送到另一个节点上的命名进程,可以使用(foo@localhost)1> rpc:call(bar@localhost, erlang, whereis, [foo]). <7120.56.0> 而不是先获取pid。例如,要向{Name, Node}上的foo进程发送消息:

bar@localhost

你也可以转向另一个方向,使用{foo, bar@localhost} ! my_message 功能从pid获取节点名称:

node/1