Erlang / Erlang Advanced Interview questions
What is the difference between linking and monitoring a process?
Both let one process find out when another terminates, but they differ in direction and severity of the notification. A link is bidirectional and, by default, fatal: if either linked process crashes, the other receives an exit signal and dies too, unless it's trapping exits.
A monitor (erlang:monitor(process, Pid)) is unidirectional and never fatal: only the
monitoring process is notified, and that notification always arrives as an ordinary
{'DOWN', Ref, process, Pid, Reason} message rather than an exit signal that could kill it.
| Link | Monitor |
| Bidirectional; both sides affect each other. | Unidirectional; only the caller is notified. |
| Default behavior can kill the other side. | Never kills anything; always a message. |
| Typically used between a supervisor and its children. | Typically used by a client that needs to know a server died, without being tied to its lifecycle. |
Invest now in Acorns!!! 🚀
Join Acorns and get your $5 bonus!
Acorns is a micro-investing app that automatically invests your "spare change" from daily purchases into diversified, expert-built portfolios of ETFs. It is designed for beginners, allowing you to start investing with as little as $5. The service automates saving and investing. Disclosure: I may receive a referral bonus.
Invest now!!! Get Free equity stock (US, UK only)!
Use Robinhood app to invest in stocks. It is safe and secure. Use the Referral link to claim your free stock when you sign up!.
The Robinhood app makes it easy to trade stocks, crypto and more.
Webull! Receive free stock by signing up using the link: Webull signup.
More Related questions...
