Ich implementiere einen Chat-Server in Erlang. Gemäß meinem Entwurf hat jeder Client einen entsprechenden Agentenprozess auf dem Serverknoten, der die Nachrichten verarbeitet. Ich schreibe die PIDs der Agenten in die Datenbank, so dass ich Nachrichten zwischen ihnen austauschen kann.Killing-Prozesse in Erlang durch PIDs
Ist es sicher, wenn ich die PIDs töte? Zum Beispiel, nachdem mein Server neu gestartet wurde, befinden sich die PIDs immer noch in der Datenbank (aber die Prozesse werden abstürzen), wird es Chancen geben, dass die PIDs in der Datenbank mit anderen (neu erzeugten) wichtigen Prozessen kollidieren?
Wenn ja, kann ich nicht einfach den Agenten töten, wenn der Client nicht reagiert. Bisher habe ich es nicht beobachtet, aber es wäre schön, das sicher zu wissen.
Sollte es nicht sein "Pids kann nicht .." im ersten Satz dann? – ZeissS
Nein, ich meinte was ich gesagt habe. PIDs können über Neustarts [von der VM] wiederverwendet werden. –