AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 611873
Accepted
Philipp
Philipp
Asked: 2014-07-12 03:03:01 +0800 CST2014-07-12 03:03:01 +0800 CST 2014-07-12 03:03:01 +0800 CST

运行级脚本的执行顺序

  • 772

我在 /etc/rc0.d 中的运行级别 0 脚本,应该在停止时执行,例如

  1. K05foo -> ...
  2. K10bar -> ...
  3. K80baz -> ...
  4. S10somemore -> ...
  5. S90 暂停 ​​-> ...

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

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

我很困惑,因为在我的嵌入式系统上,一些脚本似乎没有被执行,并且那个页面说

S20 链接在 S91 之前启动,并且 K91 在 K20 之前被杀死。

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

startup-scripts
  • 2 2 个回答
  • 6009 Views

2 个回答

  • Voted
  1. Best Answer
    Philipp
    2014-07-12T12:33:20+08:002014-07-12T12:33:20+08:00

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

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

    • 在目标运行级别中,所有 Kills 在所有 Starts 之前执行
    • 所有脚本都按优先级升序执行
    • 但是:只有在前一个运行级别中没有等效的开始时才会执行开始(即它是新开始的)
    • 而且,如果目标运行级别是 0(停止)或 6(重新启动),那么启动实际上是作为 Kills 执行的 - 即“停止”作为参数传递。但毕竟 Kills 仍然存在,如果之前的运行级别中存在等效的开始,仍然不是。

    此外,让我感到困惑的是,它shutdown now实际上切换到运行级别 1 而不是运行级别 0。你必须使用halt或poweroff运行级别 0。所以我在 rc0.d 中的脚本没有真正执行,只有那些碰巧也在 rc1.d 中的脚本.

    • 2
  2. Mathias Weidner
    2014-07-12T04:10:12+08:002014-07-12T04:10:12+08:00

    这取决于您使用的初始化守护进程。

    对于 SysVInit,您可以假设当您将运行级别更改为 0 时会发生以下情况:

    rl=0
    for k in /etc/rc$rl.d/K*; do
      $k stop
    done
    for s in /etc/rc$rl.d/S*; do
      $s start
    done
    

    我看不出您引用的句子与您上面所说的内容相矛盾。

    • 0

相关问题

  • Ubuntu 9.10:如何对似乎无法运行的启动脚本进行故障排除?

  • Apple Mac 启动脚本

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve