Determining if process is alive on a different node
Tue Aug 16 02:57:35 CEST 2005
Thanks, I'll keep this in mind.
Claes Wikstrom wrote:
> Serge Aleynikov wrote:
>> ()3> ^C
>> BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
>> (v)ersion (k)ill (D)b-tables (d)istribution
>> ~/tmp>erl -sname b
>> Erlang (BEAM) emulator version 5.4.8 [source] [hipe] [threads:0]
>> Eshell V5.4.8 (abort with ^G)
>> ()1> net_adm:ping().
>> ()5> rpc:call(, erlang, is_process_alive,
>> This last statement is not true, since it is not the same process on
>> node b that originated the first message. The Pid that was originally
>> recorded was reassigned to another process after the node was bounced.
> I'm not sure and haven't checked the current source. But in the stoneage
> when I first wrote the code for distributed erlang there was a small
> counter in each Pid which was somehow incremented when a node was
> Thus the node incarnation is checked and Pids from old dead nodes
> albeit with the right name are discarded and an error message
> is printed.
> The error above is the use of:
> You should collect the pid from the remote node, bind it to variable,
> restart the remote node and see that the old Pid is not useable.
> I checked, and if I try to use a Pid from a dead node, message is
> just discarded.
More information about the erlang-questions