加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

startup-scripts – 运行级别脚本的执行顺序

发布时间:2020-12-13 17:12:03 所属栏目:Linux 来源:网络整理
导读:我在/etc/rc0.d中的运行级别0脚本,应该在停止时执行,例如 K05foo – … K10bar – … K80baz – … S10somemore – … S90halt – … 是正确的,执行顺序如上所列,即 首先按升序优先顺序杀死所有杀戮 然后所有开始,按升序排列 所有这些,与我们切换的运行级别
我在/etc/rc0.d中的运行级别0脚本,应该在停止时执行,例如

> K05foo – > …
> K10bar – > …
> K80baz – > …
> S10somemore – > …
> S90halt – > …

是正确的,执行顺序如上所列,即

>首先按升序优先顺序杀死所有杀戮
>然后所有开始,按升序排列
>所有这些,与我们切换的运行级别无关(S,0-6)
>所有脚本总是被调用(即,没有额外的检查会阻止脚本被调用,例如,在之前的运行级别中是否实际上启动了脚本)

我很困惑,因为在我的嵌入式系统中,一些脚本似乎没有被执行,that page说

S20 link is started before a S91 and and K91 is kill before K20.

这与我上面的文字相矛盾.

解决方法

为了完整起见,回答我自己的问题:

我在OpenEmbedded系统上使用busybox. /etc/init.d/rc中的rc脚本具有以下行为:

>在目标运行级别中,所有Kill都在所有Starts之前执行
>所有脚本都按升序优先顺序执行
>但是:只有在前一个运行级别中没有等效的开始时才执行启动(即,它是新启动的)
>并且,如果目标运行级别为0(暂停)或6(重新启动),则启动实际上将执行为Kills – 即“stop”作为参数传递.但仍然在所有杀戮之后,如果在之前的运行级别中存在等效的开始,则仍然没有.

另外,我现在的关闭实际上切换到运行级别1而不是运行级别0.你必须使用halt或powerofffor runlevel 0.所以我的脚本在rc0.d里没有真正执行,只有那些碰巧也在rc1.d.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读