我创建了一个创建子项的主管(例如,在端口上侦听的过程)。我想将主管的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]} }.
相关