2012-11-18 36 views
1

如果我們將「spawn()」替換爲「spawn_link()」,則進程A spawn_link()的進程B和進程B spawn()的進程C是進程A捕獲進程C中的錯誤的唯一方法。 )「在過程B?spawn_link鏈接其他進程?

我相信如果這不被取代,過程A只會知道過程B是否死亡?

+1

是的!沒有自動鏈接。 – rvirding

回答

3

當進程B產生進程C時,它基本上忘了它;在這種情況下,如果C正在死亡,過程B將不知道它。如果進程B使用spawn_link產生進程C,進程C將作爲子進程(C) - 父進程(B)被鏈接到B:如果C進程死了,B將被通知,並且根據執行情況它可以死亡(A會被通知)或進一步生存。