W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
啟動一個應(yīng)用程序
用法:
start(Application, Type) -> ok | {error, Reason}
啟動應(yīng)用程序 Application。如果應(yīng)用程序沒有加載,應(yīng)用程序控制器首先會使用 application:load/1 函數(shù)把它加載。它將會確定所有要包含的應(yīng)用程序都加載進來。但是不會啟動它們。確保應(yīng)用程序 Application 的代碼能夠得到保護。
應(yīng)用程序控制器將會檢測應(yīng)用描述里的鍵 applications 的值,來確保應(yīng)用程序運行之前其他所有要包含進來的應(yīng)用程序都已經(jīng)啟動好了。如果沒,將返回 {error,{not_started,App}},App 是缺少沒有啟動的應(yīng)用程序。
應(yīng)用控制器會為應(yīng)用程序 Application 生成一個主應(yīng)用程序。那個主應(yīng)用程序來管理應(yīng)用程序 Application 里的所有進程。主應(yīng)用程序通過調(diào)用定義在應(yīng)用描述文件鍵 mod 里的回調(diào)函數(shù) Module:start/2 來啟動。
參數(shù) Type 指定應(yīng)用程序的類型,如果忽略,它的默認值則是 temporary。
如果一個類型是 permanent 的應(yīng)用程序崩潰,那么它的所有關(guān)聯(lián)應(yīng)用和整個 Erlang 節(jié)點都將關(guān)停;如果一個類型是 transient 的應(yīng)用程序以 normal 原因崩潰,那么它只報告崩潰信息,并不會關(guān)停其他跟它關(guān)聯(lián)的應(yīng)用。如果一個類型是 transient 的應(yīng)用程序不是以 normal 原因崩潰,那么它的所有關(guān)聯(lián)應(yīng)用和整個 Erlang 節(jié)點都將關(guān)停。如果一個類型是 temporary 的應(yīng)用程序崩潰,它只報告崩潰信息,并不關(guān)停其他關(guān)聯(lián)的應(yīng)用程序。
NOTE:調(diào)用 application:stop/1 函數(shù)總可以關(guān)停一個應(yīng)用程序,不管它是什么類型的應(yīng)用程序,不過其他應(yīng)用程序不會受到影響。
NOTE:類型是 transient 的應(yīng)用程序很少用到,因為當(dāng)一個監(jiān)控樹崩潰時,它崩潰原因是 shutdown,而不是 normal。
application:start(genfsm, temporary).
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: