Erlangのドキュメントから、supervisor:start_childは2つの異なる非エラー結果を返すことができることがわかります:{ok、Child}と{ok、Child、Info}。この情報はどこに設定されますか?simple_one_for_one supは、他のsupとは異なりますか?私はこれに関する例/ドキュメントを見つけることができませんでした...
1 に答える
4
Info
子プロセスを開始する関数から取得されます(スーパーバイザーの子仕様で指定されています)。ほとんどの場合、その関数は最終的にgen_server:start_link / 4{ok, Pid}
を呼び出しますが、これは返されるだけで、決して返されません。そのため、この場合は、おそらくproc_libモジュール{ok, Pid, Info}
の関数を使用して、プロセスを生成するカスタム関数がある場合にのみ適用されます。
事前定義された動作を使用しないプロセスは「特別なプロセス」と呼ばれ、OTP設計原則ユーザーズガイドで説明されています。
于 2012-11-19T10:15:25.020 に答える