2017-01-07 1 views
4

Новое в эликсир и OTP. Попробуйте некоторые примеры hello-world с GenServer. Я пишу тесты, где каждый тест порождает процесс GenServer. Они явно не прекращаются. Будет ли процесс умирать после завершения теста?Выполняется ли процесс эликсира, когда нет больше ссылок на его ПИД?

Последующие действия: Если это не прекращено, они превращаются в процесс «зомби»? Кроме того, существует ли шаблон для их завершения после завершения теста?

ответ

4

Нет, процессы не собираются с мусором. Да, они превращаются в «зомбические» процессы.

Шаблон, который не должен связывать процессы. Когда один связанный процесс завершается - все связанные процессы также прекратятся. Поэтому, если вы запускаете свой сервер с помощью GenServer.start_link из тестового процесса - это свяжет процесс сервера с процессом тестирования и когда будет существовать тест, сервер тоже выйдет.

Смежные вопросы