我创建了一个创建子进程的主管(例如,监听端口的进程)。我想将主管的 PIDSupPid
传递给孩子,因此它可以动态地启动其他孩子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]} }.
有关的