当不再有对其PID的引用时,Elixir进程是否会死亡?

Abh*_*k S 4 process elixir kill-process

Elixir和OTP新手.尝试使用GenServer的一些hello-world示例.我正在编写测试,每个测试产生一个GenServer进程.它们没有明确终止.测试完成后,该过程是否会死亡?

跟进:如果没有终止,他们会变成"僵尸"进程吗?此外,测试完成后是否有终止它们的模式?

mic*_*ala 5

不,进程不是垃圾回收.是的,他们变成了"僵尸"进程.

防止这种情况的模式是链接进程.当一个链接的进程终止时 - 所有链接的进程也将终止.因此,如果您使用GenServer.start_link测试过程启动服务器- 这会将服务器进程链接到测试进程,并且当测试存在时,服务器也将退出.