erlang一些脚本

通过supervisor terminate进程

<pre>
Fun = fun({,Pid,,_}) -> supervisor:terminate_child(player_sup,Pid) end.
lists:map(Fun,supervisor:which_children(player_sup)).
</pre>

检测解散的工会

<pre>
Fun1 = fun({Name,Pid,,}) -> IsLive = (Pid == undefined)end.
lists:filter(Fun1,supervisor:which_children(guild_sup)).
</pre>

检测活着的工会数量

<pre>
Fun2 = fun({Name,Pid,,},Sum) -> IsPid = is_pid(Pid),if IsPid -> IsAlive = is_process_alive(Pid),if IsAlive -> Sum + 1;true -> Sum end;true -> Sum end end.
lists:foldl(Fun2,0,supervisor:which_children(guild_sup)).
</pre>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容