У вас есть 3 идиомы:
1 / Мне все равно, умирает ли мой дочерний процесс:
spawn(...)
2 / Я хочу аварийно завершить работу, если происходит сбой моего дочернего процесса:
spawn_link(...)
3 / Я хочу получить сообщение, если мой дочерний процесс завершается (обычно или нет):
process_flag(trap_exit, true),
spawn_link(...)
Пожалуйста, посмотрите этот пример и попробуйте другие значения (обратные с 2 или 0, чтобы вызвать исключение, и с использованием trap_exit или нет):
-module(play).
-compile(export_all).
start() ->
process_flag(trap_exit, true),
spawn_link(?MODULE, inverse, [2]),
loop().
loop() ->
receive
Msg -> io:format("~p~n", [Msg])
end,
loop().
inverse(N) -> 1/N.