Erlang中文手册(Erldoc.com)  »  erlang  »  is_process_alive/1
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

erlang:is_process_alive/1

检测进程是否存活

用法:

is_process_alive(Pid) -> boolean()

检测进程(必须是本地节点的进程)是否还存活(尚未关掉或已经被关掉的情况),如果是,则返回 true,否则返回 false。

Pid = self(),
erlang:is_process_alive(Pid).

跨节点的进程,可以调用 rpc:call/4 来检测:

IsProcessAlive = fun(Pid) ->
    case is_pid(Pid) of
        true ->
            case rpc:call(node(Pid), erlang, is_process_alive, [Pid]) of
                true -> true;
                _ -> false
            end;
        _ -> 
            false
    end
end,
Pid = self(),
IsProcessAlive(Pid).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9