[ChildSpec,...] 是在init之後預設要啟動的子程序。
{Type, Times, Sec}
Type: 重新開機政策
one_for_one: 一個子程序終止,隻重新開機該程序,在init的時候會啟動參數内的子程序
simple_one_for_one: 同one_for_one,但是在init的時候不會啟動子程序,需要動态調用啟動
one_for_all: 一個子程序終止,将重新開機所有子程序
rest_for_one: 一個子程序終止,将按順序重新開機這個子程序和之後順序的子程序
Times: 次數(監控頻率)
Sec: 秒數(監控頻率),如果在Sec秒内重新開機次數超過Times,則終止所有程序,并終止監控樹,将由父程序決定它的命運
Id 子程序ID辨別符
StartFunc = {M, F, A}: 子程式啟動入口
Restart: 重新開機方案
<code>permanent</code>: 如果app終止了,整個系統都會停止工作(application:stop/1除外)。
<code>transient</code>: 如果app以normal的原因終止,沒有影響。任何其它終止原因都誰導緻整個系統關閉。
<code>temporary</code>: app可以以任何原因終止。隻産生報告,沒有其它任何影響。
Shutdown: 終止政策
<code>brutal_kill</code>: 無條件終止
逾時值(毫秒): 終止時,如果逾時,則強制終止
<code>infinity</code>: 如果子程序是監控樹,設定為無限大,等待其終止為止
Type:
<code>worker</code>: 普通子程序
<code>supervisor</code>: 子程序是監控樹
Modules:
<code>dynamic</code>: 當子程序是gen_event
<code>[Module]</code>: 當子程序是監控樹、gen_server或者gen_fsm,表示回調子產品名稱
Sup通常可以為<code>?MODULE</code>