2016-09-20 5 views
1

、IはSTART_LINKパラメータを含む(A)によってgen_serverモジュールを起動したときに、私は、コンソールA.を変更することにより、それを二回開始することができないが、それは{エラー、{既に示し開始、< 0.61.0>}}。どうすれば問題を解決できますか?ありがとうございました!何回Erlangで

答えて

4

おそらくあなたstart_link呼び出しは次のようになります。

意味
gen_server:start_link({local, foo}, bar, [], []) 

、コールバックモジュールとしてbarを使用してgen_serverを起動し、ローカル・ノードの名前fooで新しいプロセスを登録します。すでにfooという名前のプロセスがある場合は、already_startedというエラーが発生します。ちょうど最初の引数をドロップし、それらの任意の数を開始することにより、それが可能となり、登録名なしgen_serverを開始するには

gen_server:start_link(bar, [], []) 
+0

という名前のサーバーにしたい場合は、使用することができます '{ローカル、 list_to_atom( "foo" ++ integer_to_list(N)) ' –

関連する問題