【发布时间】:2023-03-17 18:40:01
【问题描述】:
在 Erlang 中,我有一个主管 (my_sup) 模块来启动和监控 gen_server 进程 (my_gen)。当my_gen被修改、编译和加载后,需要重启应用。
有没有更好的方法让主管(my_sup)杀死所有进程(gen_server)并重新启动进程(gen_server)?
【问题讨论】:
标签: erlang erlang-supervisor gen-server
在 Erlang 中,我有一个主管 (my_sup) 模块来启动和监控 gen_server 进程 (my_gen)。当my_gen被修改、编译和加载后,需要重启应用。
有没有更好的方法让主管(my_sup)杀死所有进程(gen_server)并重新启动进程(gen_server)?
【问题讨论】:
标签: erlang erlang-supervisor gen-server
要解决此问题,请停止子进程并重新启动它。
停止并重新加载孩子
restart_pool() ->
supervisor:terminate_child(?SEVER, ?WORKER),
supervisor:restart_child(?SERVER, ?WORKER).
【讨论】: