OTP應(yīng)用函數(shù) permit/2

2018-10-13 14:25 更新

application:permit/2

更改當(dāng)前節(jié)點(diǎn)上的應(yīng)用程序的運(yùn)行權(quán)限

用法:

permit(Application, Permission) -> ok | {error, Reason}

更改當(dāng)前節(jié)點(diǎn)應(yīng)用程序 Application 的運(yùn)行權(quán)限。為了函數(shù)能有效,應(yīng)用必須使用 applicaltion:load/1,2 來加載。

如果應(yīng)用程序的加載權(quán)限(不是啟動(dòng))設(shè)置為 false,應(yīng)用啟動(dòng)時(shí)將會返回 ok,不過應(yīng)用沒用真的啟動(dòng),除非把權(quán)限設(shè)置為 true。

如果一個(gè)正在運(yùn)行中的應(yīng)用程序設(shè)置為 false,應(yīng)用程序?qū)魂P(guān)停。如果應(yīng)用程序后來設(shè)回 true,它將重新啟動(dòng)。

如果應(yīng)用程序是分布在別的節(jié)點(diǎn)上,把應(yīng)用程序的運(yùn)行權(quán)限設(shè)置為 false,那么應(yīng)用程序?qū)鶕?jù)應(yīng)用描述的配置啟動(dòng)并遷移到別的節(jié)點(diǎn)上。

函數(shù)不會有返回,直到應(yīng)用程序啟動(dòng)成功,或者停止完畢,或者是成功遷移到別的節(jié)點(diǎn)上去。但是,在一些情況下,運(yùn)行權(quán)限設(shè)置為 true,函數(shù)也許會返回 ok,即使應(yīng)用程序沒用成功啟動(dòng)。當(dāng)因?yàn)橐粋€(gè)應(yīng)用程序依賴的其他應(yīng)用程序沒有成功啟動(dòng)而導(dǎo)致自己不能成功啟動(dòng)時(shí),將出現(xiàn)上面返回 true 的情況。當(dāng)它們都成功啟動(dòng),應(yīng)用程序 Application 也將會成功啟動(dòng)。

默認(rèn)情況下,所有的應(yīng)用程序?qū)⒁钥蛇\(yùn)行的權(quán)限(true)在所有節(jié)點(diǎn)上加載。應(yīng)用運(yùn)行權(quán)限的默認(rèn)權(quán)限是有內(nèi)核配置參數(shù) permissions 來決定。

application:permit(genfsm, true).
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號