3
使用Erlang的代碼更改功能,有時會使用代碼:soft_purge(module)得到錯誤,這意味着某些其他進程仍舊掛在舊代碼上。有沒有辦法找到這些流程?當然,在我的情況下有一個錯誤,並追蹤它,我需要知道舊代碼中哪些進程滯留。如何查找舊代碼中逗留的erlang進程?
任何幫助表示讚賞,在此先感謝。
使用Erlang的代碼更改功能,有時會使用代碼:soft_purge(module)得到錯誤,這意味着某些其他進程仍舊掛在舊代碼上。有沒有辦法找到這些流程?當然,在我的情況下有一個錯誤,並追蹤它,我需要知道舊代碼中哪些進程滯留。如何查找舊代碼中逗留的erlang進程?
任何幫助表示讚賞,在此先感謝。
您可以使用check_process_code/{2,3}函數來檢查它。
AllProcessesUsingOldModule = [Pid ||
Pid <- processes(),
check_process_code(Pid, module_name)].
謝謝盧卡斯。優秀的答案!讚賞。 – zsoci 2014-12-27 14:31:45