0

我在 /opt 中有一个 samba 挂载。我在 init.d 中有一个名为 sysinit 的脚本,它链接到 rc6.d 中。这会在重新启动时调用(第一件事,我将其设置为 K01sysinit),它应该卸载 /opt 目录。但是,在重新启动时,我看到 rc.sysinit 文件中的命令失败了。当我手动运行我的 sysinit 脚本然后重新启动时,一切正常。我是否在这里遇到了某种竞争条件,其中 rc.sysinit umount 命令在其他脚本完成卸载 /opt 之前运行,还是发生了其他事情?或者我不明白运行级别是如何工作的?我认为重新启动时发生的事情是首先运行来自 rc6.d 的内容,然后从 rc.sysinit 卸载。

4

1 回答 1

1

我找到的解决方案是我需要在 /var/lock/subsys 中创建一个锁定文件,以便 rc.sysinit 文件知道我创建的服务正在“运行”。没有它,它永远不会创建必要的 KXXsysinit 符号链接,以便我的脚本在关机或重新启动时使用“停止”命令运行。

于 2011-11-17T16:44:35.910 回答