我有gen_server:二郎停止gen_server
start(UserName) ->
case gen_server:start({global, UserName}, player, [], []) of
{ok, _} ->
io:format("Player: " ++ UserName ++ " started");
{error, Error} ->
Error
end
...
現在我想編寫函數來停止這個根服務器。我有:
stop(UserName) ->
gen_server:cast(UserName, stop).
handle_cast(stop, State) ->
{stop, normal, State};
handle_cast(_Msg, State) ->
{noreply, State}.
我運行它:
start("shk").
Player: shk startedok
stop(shk).
ok
start("shk").
{already_started,<0.268.0>}
但是:
stop(player).
ok
就是工作。
如何通過名稱運行gen_server並按名稱停止?
謝謝。
gen_server具有特殊功能,可以停止/ 1,stop/3 http://erlang.org/doc/man/gen_server.html#stop-1 – 2016-05-20 12:43:25