如何解耦然后重建Erlang进程PID <ABC>

gex*_*tra 1 erlang

从以下形式启动的进程返回erlang进程PID引用:

<0.344.0>
Run Code Online (Sandbox Code Playgroud)

拥有这样的PID,你如何提取它的三个部分,序列化它,然后重新组合它们?

在我的例子中,我希望:

{A,B,C} = decomposePid(Pid),
% serialize somewhere
% deserialize somewhere
Pid = recompose(A,B,C),
Run Code Online (Sandbox Code Playgroud)

我知道Pid可以作为参数等发送,但是我有序列化需求需要真正地将这些A,B,C值从Pid中分离出来.

rvi*_*ing 7

或者使用erlang:term_to_binary/1erlang:binary_to_term/1.这取决于您打算如何处理序列化的pid.与序列化它pid_to_list,并list_to_pid在东西是只有在二郎山节点有效,而使用效果term_to_binary,并binary_to_term为在分布式系统erlng有效.但是,在这两种情况下,序列化的pid只有在原始的erlang节点运行时才有效,一旦它终止序列化的pid就没有意义,因为它引用的进程已经消失.