最近學習erlang,看了一些書籍和文件,對「鏈結程序」之間的退出機制,一直也不是很明白,今天動手做了乙個實驗。
大致分為兩種情況:
1.process_flag(trap_exit,false),也是預設行為:
「a程序」和「b程序」相互鏈結,(1)如果「a程序」異常退出「b程序」也隨之退出;(2)如果「a程序」正常退出,「b程序」不做任何處理,繼續執行。
2.process_flag(trap_exit,true):
「a程序」和「b程序」相互鏈結,「b程序」設定了process_flag(trap_exit,true),這樣「b程序」接受到「a程序」的退出訊號,並自行處理。
「a程序」是「預設行為」。
erlang鏈結程序之間的關係
1.process flag trap exit,false 是預設行為 a程序 和 b程序 相互鏈結,1 如果 a程序 異常退出 b程序 也隨之退出 2 如果 a程序 正常退出,b程序 不做任何處理,繼續執行。2.process flag trap exit,true a程序 和 b程序 相互鏈結...
多個程序之間的關係
每個程序都有乙個統一標識。每一組程序也可以有乙個標識。用getpgrp 函式獲取程序組id。include include pid t getpgrp void 用setpgid pit t pid,pid t pgid 成功時返回0失敗時返回 1 建立乙個新的程序組或者將乙個程序加入到乙個程序組中...
執行緒和程序之間的關係
一 程序 每個程式都會有程序負責管理程式功能的各個功能的進行,程序只有乙個,且至少會有乙個 二 執行緒 每個程序裡面至少有乙個執行緒,稱之為主線程,除此之外還會有其他的執行緒,稱之為分執行緒,執行緒是控制任務執行的祖先歐單位 二者之間的聯絡 程序負責各個執行緒的執行,當程式執行,程序啟動,程式關閉,...