スーパープロセスに子プロセスを開始するように指示するロジックモジュールがあります。私はそれらの子供たちを論理モジュールの状態で保存する必要があります。しかし、スーパバイザが再起動した場合、子のpidも更新する必要があります。start_childコールを開始したプロセスで子プロセスを登録する
私はstart_child呼び出しからの戻り値pidを使用できません。これは、最初の開始時にpidだけを返し、再起動はしません。今は、子プロセスが、子モジュールのinit関数から論理モジュール内のレジスタ関数(新しいPIDで状態を更新)を呼び出すようにします。こうすることで、プロセスが再起動されるたびに、論理モジュールはその状態のpidを更新できます。ロジックモジュールはgen_serverで、私は子プロセスを登録するときにキャストを行います。
誰もがこの問題を見ることができますし、それを行うための他の "適切な"方法がありますか?