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

时间:2017-01-07 10:10:56

标签: process elixir kill-process

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

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

1 个答案:

答案 0 :(得分:5)

不,进程不是垃圾回收。是的,他们变成了" zombie"过程

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