得到自己的PID(主管)

时间:2013-10-01 11:24:36

标签: erlang

我创建了一个创建子项的主管(例如,在端口上侦听的过程)。我想将主管的PID SupPid传递给孩子,因此它可以用supervisor:start_child()动态启动其他孩子(例如,当收到连接时)。如何从主管内部获得主管的PID?

-module(the_supervisor)

start_link() ->
    supervisor:start_link({local, ?MODULE}, ?MODULE, []).

init([]) ->
    SupPid = get_my_own_pid(), % <-- get pid of the supervisor and pass it later
    ChildSpec = ?CHILD_WITH_ARGS(some_children, worker, [SupPid]),
    {ok, {{one_for_one, 5, 10},
          [ChildSpec]} }.

相关

1 个答案:

答案 0 :(得分:3)

这是erlang:self()函数。