解决方案

我们应该将self()作为入口函数的参数之一传递给child。

spawn_link(?MODULE, child, [self()]).

我们也可以使用BIF寄存器为生成/父进程指定一个名称(原子),然后从其他进程中引用回已注册的名称。

FUNC() ->

    %% Do something

    %% Then send message to parent

    parent ! MESSAGE.

...

register(parent, self()), 
spawn(MODULE, FUNC, [ARGS])
在erlang中如何确定进程父级的PID

我在erlang中有一个进程,需要在执行某些操作完成后将结果发送回父进程。我如何找出产生它的进程的PID?

日期:2020-03-24 20:29:03 来源:oir作者:oir