1.exit(Pid,Reason)貌似不会引起gen_server的terminate()的执行。猜测依据:erlang编程指南的第十二章的272页终止 当从 回调函数中的一个收到stop结果时(init除外),或当捕获存在而发生了异常进程终止时,就会触发terminate(Reason,LoopData)回调函数。在terminate/2中,你可以取消在init/1中所做的事情。这将忽略它的返回值。