2014-12-27 53 views
3

使用Erlang的代碼更改功能,有時會使用代碼:soft_purge(module)得到錯誤,這意味着某些其他進程仍舊掛在舊代碼上。有沒有辦法找到這些流程?當然,在我的情況下有一個錯誤,並追蹤它,我需要知道舊代碼中哪些進程滯留。如何查找舊代碼中逗留的erlang進程?

任何幫助表示讚賞,在此先感謝。

回答

6

您可以使用check_process_code/{2,3}函數來檢查它。

AllProcessesUsingOldModule = [Pid || 
    Pid <- processes(), 
    check_process_code(Pid, module_name)]. 
+0

謝謝盧卡斯。優秀的答案!讚賞。 – zsoci 2014-12-27 14:31:45