OTP应用函数 permit/2
2018-10-13 14:25 更新
application:permit/2
更改当前节点上的应用程序的运行权限
用法:
permit(Application, Permission) -> ok | {error, Reason}
更改当前节点应用程序 Application 的运行权限。为了函数能有效,应用必须使用 applicaltion:load/1,2 来加载。
如果应用程序的加载权限(不是启动)设置为 false,应用启动时将会返回 ok,不过应用没用真的启动,除非把权限设置为 true。
如果一个正在运行中的应用程序设置为 false,应用程序将会被关停。如果应用程序后来设回 true,它将重新启动。
如果应用程序是分布在别的节点上,把应用程序的运行权限设置为 false,那么应用程序将会根据应用描述的配置启动并迁移到别的节点上。
函数不会有返回,直到应用程序启动成功,或者停止完毕,或者是成功迁移到别的节点上去。但是,在一些情况下,运行权限设置为 true,函数也许会返回 ok,即使应用程序没用成功启动。当因为一个应用程序依赖的其他应用程序没有成功启动而导致自己不能成功启动时,将出现上面返回 true 的情况。当它们都成功启动,应用程序 Application 也将会成功启动。
默认情况下,所有的应用程序将以可运行的权限(true)在所有节点上加载。应用运行权限的默认权限是有内核配置参数 permissions 来决定。
application:permit(genfsm, true).
以上内容是否对您有帮助:
更多建议: