2013-10-01 49 views
0

我創建了一個創建子項的主管(例如,監聽端口的進程)。我想將主管的PID SupPid傳遞給孩子,因此它可以動態地使用supervisor:start_child()(例如,當收到連接時)啓動其他孩子。如何從主管內部獲得主管的PID?獲取我自己的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]} }. 

相關

回答