我有一個Erlang應用程序,監控程序啓動gen_server。產生的gen_server在它的init/1中有一個邏輯來掛鉤一個新的進程到管理員。 當它只是做這個操作,Erlang:使用supervisor:start_child/2在gen_server:init/1中添加新的子進程將掛起應用程序
supervisor:start_child(supervisor_name, Child_spec),
在init/1中的應用程序內掛了。但如果我用,
rpc:cast(node(), supervisor, start_child, [supervisor_name, Child_spec]),
然後應用程序運行順利。任何人都可以給我一些想法來調試這種情況,或者非常感謝洞察力。
我需要做出是否掛鉤第二個過程的一些決定。或者需要將一些參數從第一個進程的init/1傳遞給第二個進程。但是,如何才能在Erlang應用程序中瞭解這種死鎖情況?有沒有辦法?謝謝。 –